博客列表 >jQuery实战:留言本及ajax请求

jQuery实战:留言本及ajax请求

Jason Pu?
Jason Pu?原创
2021年01月14日 18:52:28841浏览

一:用jQuery实现简单的留言板

首先需要在html中建立一个input输入框和一个空列表

  1. <label ><input type="text" name="message" id="message"></label>
  2. <ol id="list"></ol>

然后就看jq表演啦

  1. $("#message").on("keydown",function (ev){
  2. if (ev.key==="Enter"){
  3. if($(this).val()===""){//非空验证
  4. alert("Please enter something!");
  5. //把空字符串也删了
  6. $(this).val(null);
  7. }
  8. //创建一个li,并把输入的内容赋值进去,顺带加个删除功能
  9. let msg = `<li>${$(this).val()}[<a style="color: red; font-size: .5em" onclick="$(this).parent().remove()">删除</a>]</li>`
  10. //把创建好的内容添加到消息列表里面去
  11. $(msg).appendTo($("#list"));
  12. $(this).val(null);//清空轮入框
  13. }
  14. })

检验成果的时候到了,我们啥也不输入来试试效果:

输入一点什么试试:


试着删除一条:


二:$.get,$.post,jsonp做一个积分查询系统

HTML代码如下:

  1. <h3>分数查询</h3>
  2. 姓名:<input type="text" name="uname" id="uname" value="" />
  3. <br /><br />
  4. <input type="submit" onsubmit="return false" id="post" value="post提交"/>
  5. <input type="submit" onsubmit="return false" id="get" value="get提交"/>
  6. <input type="submit" onsubmit="return false" id="JasonPadding" value="JsonP提交"/>
  7. </div>

后台使用php接受并返回数据:
后台1:处理$.get以及$.post

  1. $uname = $_REQUEST["uname"];
  2. //根据$uname到用数组模拟的数据库中查询相关的数据
  3. $hy = array(
  4. ["uname"=>"小明","score"=>"99"],
  5. ["uname"=>"小红","score"=>"80"],
  6. ["uname"=>"小刚","score"=>"98"],
  7. ["uname"=>"琉璃大佬","score"=>"100"],
  8. ["uname"=>"米法大佬","score"=>"100"]
  9. );
  10. //数据验证
  11. for($i=0;$i<count($hy);$i++){
  12. if(in_array($uname,$hy[$i])){
  13. echo $hy[$i]["score"];
  14. };
  15. };

后台2:处理jsonp

  1. <?php
  2. header('content-type:text/html;charset=utf-8');
  3. // 获取回调名称
  4. $callback = $_GET['jsonp'];
  5. $id = $_GET['id'];
  6. // 模拟接口数据
  7. $users = [
  8. 0=>'{"name":"朱老师", "email":"peter@php.cn"}',
  9. 1=>'{"name":"西门老师", "email":"xm@php.cn"}',
  10. 2=>'{"name":"猪哥", "email":"pig@php.cn"}'
  11. ];
  12. if (array_key_exists(($id-1), $users)) {
  13. $user = $users[$id-1];
  14. }
  15. // echo $user;
  16. // 动态生成handle()的调用
  17. echo $callback . '(' . $user . ')';

以下是前端jQuery代码:

  1. let url = "test2.php";
  2. //post请求:
  3. $("#post").click(function(){
  4. $.post(url, {"uname":$("#uname").val()},function (data){
  5. alert(`您的分数是:${data}分`);
  6. console.log(data);
  7. }
  8. )
  9. })
  10. //-----------------------------------
  11. //get请求:
  12. $("#get").click(function(){
  13. $.get(url,{"uname":$("#uname").val()},function(data){
  14. alert(`您的分数是:${data}分`);
  15. console.log(data);
  16. })
  17. })
  18. //----------------------------------------
  19. //Jsonp请求:
  20. $("#JasonPadding").click(function (ev) {
  21. $.ajax({
  22. type: "get",
  23. url: "test3.php?id=2&jsonp=?",
  24. dataType: "jsonp",
  25. // 告诉跨域访问的服务器需要返回的函数名称
  26. // jsonpCallback: "show",
  27. success: function (data) {
  28. console.log(data);
  29. },
  30. });
  31. });
  32. </script>

运行成果如下:

成功返回了信息:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议