Ajax异步和同步
ajax的异步和同步是根据关键字async来实现的:
async:false,//同步
async:true,//异步,默认异步执行
当然,json跨域同步设置没有效果,跨域的话,网上一般的方法将后面的步骤放到回调里面执行。
Ajax有些时候报错不走error方法
一般请求成功回调sucess里面的方法,请求失败走error里面的方法。但是突然,F12提示报错,就是不走error方法,然后就卡在那了,测试了一大通,确实是调的后台方法有问题,但是按道理报错应该走error。没办法,跨域的话,确实容易出现很多问题,一个不太好的解决方法,就是设置一个定时,剩下确保后台方法写正确。当然,还有其他情况也会有这种问题。
timeout:1000,//毫秒
如果超时回调error方法,不过不太建议使用,因为有些时候我们所调用的方法可能比较慢,时间短的话容易超时。
Ajax的complete回调方法
complete和sucess以及error一样,都是ajax的回调函数,这个函数不管成功或失败,请求完成后执行:
(有的时候complete不显示,如果是方法报错的情况下,就回到了上一个问题,设置超时设定)
complete:function(XMLHttpRequest,status){ //请求完成后最终执行参数
console.log("请求结束");
}