AJAX的整合
今天面试的时候遇到这样一个问题:
说一下AJAX的同步请求的实现方法
这是AJAX所有参数的示例代码:
function test(){
$.ajax({
Type:"PSOT",((默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。)
url:"/select",//发送请求地址
dataType:"JSON", //返回值类型
async:false,//设置ajax异步请求或者同步请求(默认:true)同步请求将锁住浏览器,用户其他操作必须等待请求完成后才能进行
cache:true,//(默认为true)设置为false的话将不会从浏览器缓存中加载请求信息
data:{"test":1,"test2":2},//传送数据(发送服务器的数据,将自动转化为请求字符串的格式)
timeout:5000,//设置请求超时时间(毫秒),此设置将覆盖全局设置。
global:false,//(默认为true)是否触发全局ajax事件
ifModified:false,(默认: false) 仅在服务器数据改变时获取新数据。
contentType:,//默认 "application/x-www-form-urlencoded"(表单形式提交)
success:function(date){//请求成功时调用函数方法
},
error:function(){//请求失败时调用方法函数
},
beforeSend:function(){//发送请求前调用函数
},
complete:function(){//请求完成后回调函数(请求完成或失败时均可调用)
},
});
};
想要实现ajax的同步请求需要将ajax中的async属性设置为false即可 同步请求可以锁定浏览器用户必须等待请求
完成后才可以进行其他操作。同步请求可以给用户带来更好的体验,,并且可以控制加载数据的运行顺序。
ajax异步请求的实现方法:
只需要将ajax中的async属性设置为true,或者不给ajax添加async属性,因为async属性为Boolean类型,默认值为
true,就是异步请求。
AJAX同步请求和异步请求的区别:
同步请求:在ajax代码运行中的时候其他代码一样可以执行。
异步请求:在ajax代码运行中的时候页面会进入假死状态,会锁住浏览器,禁止用户操作,用户必须等待AJAX
请求完成后才可以进行操作。