JQuery Ajax异步操作的方式: $.ajax,$.post, $.get, $.getJSON。
一, $.ajax,这个是JQuery对ajax封装的最基础步,通过使用这个函数可以完成异步通讯的所有功能。也就是说什么情况下我们都可以通过此方法进行异步刷新的操作。但是它的参数较多,有的时候可能会麻烦一些。
常用的参数:
1、method
//数据的提交方式:get和post
2、
url
//数据的提交路径
3、async
//是否支持异步刷新,默认是true
4、data
//需要提交的数据
5、dataType
//服务器返回数据的类型,例如xml,String,Json等
6、success
//请求成功后的回调函数
7、error
//请求失败后的回调函数
8、contentType: 'application/x-www-form-urlencoded; charset=UTF-8', //防止乱码
例子:
1 <script> 2 $.ajax({ 3 type : "POST", 4 url:'http://dddd.com', 5 async:true, 6 dataType:'json', 7 data:{a:'aa'}, 8 success :function(msg){ 9 var j=eval(msg); //解析json值 10 //请求成功函数 11 }, 12 error:function(jXHRq,textStatus,errorThrown){ 13 //请求失败函数 14 } 15 }); 16 </script>
根据jQuery官方文档,ajax中error有三个参数,分别是 jqXHR,textStatus,errorThrown。
而jqXHR中也有四个属性,
1.readyState :当前状态,0-未初始化,1-正在载入,2-已经载入,3-数据进行交互,4-完成。
2.status :返回的HTTP状态码,比如常见的404,500等错误代码。
3.statusText :对应状态码的错误信息,比如404错误信息是not found,500是Internal Server Error。
4.responseText :服务器响应返回的文本信息
textStatus和errorThrown都是字符串类型,分别是返回的状态和服务器的错误信息。
一般情况下,ajax走进error的函数里,把textStatus和jqXHR.readyState打印出来,大概就知道为什么ajax报错了。如果还是不清楚的话,就把所有参数都打印出来。