Jquery中Ajax使用

关于Ajax

  ajax 的全称是Asynchronous JavaScript and XML,其中,Asynchronous 是异步的意思,它有别于传统web开发中采用的同步的方式,同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。而异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式 

  ajax的工作原理就是通过XmlHttpRequest对象来向服务器发出异步请求,从服务器中获得数据,然后用Javascript来操作DOM从而更新局部页面。

jquery中的ajax

  自从JavaScript库诞生之后,对JavaScript的各种方法进行了封装,包括了ajax,相比于原生ajax而言,在封装后的Ajax的操作更加简洁,功能更加强大。

  ajax的基本使用方法为$.ajax(),其中ajax默认是使用了get方法请求,并且默认以异步去请求资源。也可以通过$.get(url, [data], [callback], [type])或者$.post(url, [data], [callback], [type])来改变请求方式。

  其中,也可以通过向方法中传入对象,进行资源请求。

  1.url

说明:发送请求的地址(默认为当前页面),要求是String类型的参数,比如是.net下,"~wexin(控制器)/getweinxinmenu(动作)",

  2.type

说明:请求方法(post或者get),默认是get,要求是String类型的参数。其他的htpp请求如(put、delete)等也支持,但是要浏览器支持

  3.timeout

说明:设置请求超时时间(毫秒),要求是number类型的参数。此设置将覆盖$.ajaxSetup()方法的全局设置。

  4.async

说明:默认值为true,所有请求是异步,要求是Bool类型的参数,如果需要发送同步请求,将此项设置为false。注意:同步时浏览器会被锁住。

  5.cache

说明:默认为true(当datatype为script时,默认为false)从浏览器缓存中加载请求信息,要求是Bool类型的参数。

  6.data

  说明:发送到服务器的数据,要求是Object或string类型的参数。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看  processData选项。对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。

  7.dataType

说明:预期服务器返回的数据类型,要求为String类型的参数。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。可用的类型如下:
xml:返回XML文档,可用JQuery处理。
html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。
json:返回JSON数据。
jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。
text:返回纯文本字符串。

  具体代码

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <script type="text/javascript" src="Public/js/jquery-easyui-1.3.1/jquery-1.8.2.min.js"></script>
 5 <script type="text/javascript">
 6     $(function(){
 7         //按钮单击时执行
 8         $("#testAjax").click(function(){
 9               
10               //Ajax调用处理
11             var html = $.ajax({
12                type: "POST",
13                url: "xxx",
14                data: "name=garfield&age=18",
15                async: false
16 
17             }).responseText;
18             $("#myDiv").html('<h2>'+html+'</h2>');
19          });
20     });
21 </script>    
22 </head>
23     <body>
24         <div id="myDiv"><h2>通过 AJAX 改变文本</h2></div>
25         <button id="testAjax" type="button">Ajax改变内容</button>
26     </body>
27 </html>
posted @ 2022-03-20 22:45  小小小怪将军  阅读(1528)  评论(0编辑  收藏  举报