定制开发【速成之路】网页编程必会的Ajax——jQuery实现Ajax(一)

🎉个人主页:
✨往期专栏:
      

jQuery实现Ajax



  jQuery对 JavaScript 定制开发代码进行封装,定制开发以方便前台代码的编写,定制开发其最大优势是解决了浏定制开发览器的兼容问题,定制开发这也是使用jQuery定制开发非常重要的原因。
  Ajax的核心是 XMLHttpRequest 对象,而jQuery对Ajax定制开发异步操作进行了封装。定制开发本节将讲解jQuery实现Ajax定制开发的几种常用方式,包括$.ajax$.post, $.get

$.ajax()方法

  $.ajax()方法通过HTTP定制开发请求加载远程数据,该方法是jQuery底层的Ajax实现。$.ajax()方法定制开发返回其创建的 XMLHttpRequest 对象,定制开发大多数情况下无须直接操作,除非需要操作不常用的选项,以获得更多的灵活性。$.ajax()方法的调用格式如下所示:

$.ajax({url:'请求地址',type:'POST/GET',data:{ //从客户端发送到服务器的值数据1:1,数据2:2},dataType:'设置从服务器端返回数据的数据类型',async:'true|false',success:function(str){//Ajax请求成功回调函数的相关操作语句},error:function(err){//Ajax请求失败回调函数}});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

  $.ajax()方法的常用参数说明如下:

(1) url:用于请求数据的地址,默认值是当前网页地址。

(2) type:说明当前Ajax向服务器端发送数据采用get方法还是post方法。get方法会将前端上传的数据直接与地址连接起来,能传输的数据最大为1024B,一般用于查询操作(不会威胁数据库数据)。get方法有缓存问题,会被起来。post方法比较安全,一般用于新增、删除、修改等操作,传输数据的大小2MB。

(3) data:发送到服务器的数据。该数据将会自动转换为请求字符串格式。GET请求中数据将附加在URL后。如果为数组,jQuery将自动为不同值对应同一个名称。例如,
{foo:[ ‘bar1",“bar2”]}转换为’foo=bar1&foo=bar2’。

(4)dataType:设置服务器返回数据的数据类型。如果不指定,jQuery将自动根据HTTP包的MIME信息来智能判断,随后服务器端返回的数据会根据这个值解析后,传递给回调函数。该属性的可用值包括以下几种。

  • “xml”:返回XML文档,可用jQuery处理。
  • “html”:返回纯文本HTML信息,包含的script标签会在插入DOM时执行。
  • “script”: 返回纯文本 JavaScript 代码。
  • “json”:返回JSON数据。
  • “jsonp”:返回JSONP格式的数据。
  • “text”:返回纯文本字符串。

(5) asyne:同步与异步标志,默认值是true(异步)。同步时会阻塞程序的运行,请求完成之后才能继续运行脚本代码,异步时请求的过程不会阻塞代码运行。

(6) success:请求成功后所调用的回调函数。该回调函数所带参数主要包括服务器返回数据和返回状态。

(7) error:请求失败后所调用的回调函数。该回调函数所带参数主要包括 XMLHttpRequest 对象错误信息、(可能)捕获的错误对象。

  例中jQuery使用$. ajax()方法调用服务器端的文本文件,其在浏览器中的运行结果如图所示。

【例1】

<!DOCTYPE html><html>  <head>    <title>html</title>    <script type="text/javascript "src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>	<script>      $(function(){        $.ajax({          url:"server.txt",          success:function(result){            $("#resultDiv").html(result);            }		});	});    </script>   </head> <body>    <div id="resultDiv"></div> </body></html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

  服务器端文本文件server. txt的源代码如下所示:

服务器端文件内容,返回到客户端。
  • 1

  例2使用$. ajax()方法实现上节例1中原生 JavaScript 的用户名验证的功能。读者应该重点理解$.ajax()方法的数据发送方式与服务器端返回数据的处理方法,并对$.ajax()方法的使用方法进行着重分析。服务器端程序仍使用上节例1的服务器端servlet程序AjaxServlet.java。
【例2】

<!DOCTYPE html><html>   <head>   <title>$.ajax()用户名验证</title>    <meta http-equiv="content=type"  content="text/html;  charset=UTF-8">    <script type="text/javascript " src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>	<script type="text/javascript ">        $(function(){         $("#username").blur(function(){          $.ajax({            url:"/hello/AjaxServlet",//调用服务器端程序            dataType:"text",//设置返回数据是test类型            data:{"name":$("#username").val()},//设置发送数据“name:值”            type:"post",//数据提交方式post            success:function(result){//数据返回成功,result返回数据               if($.trim(result)=="true"){//$. trim()是删除空格方法                  $("#display").html("用户名被占用");                  $("#display").css({color:"white",  background :"red"});                }                else                {                $("#display").html("用户名可用");                $("#display").css({color:"green",  background :"white"});                }             }           });          });        });    </script>    </head> <body>    <form action=""  method="get">     用户名:         <input type="text"  id="username"  name="username">          <span id="display"></span><br>          <input type="submit"  value="test">    </form>  </body></html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发