概述
Ajax,默认是异步请求。所谓异步就是,不会去等待服务器做出响应后再去执行别的请求,所谓同步就是,客户端一次请求,服务端一次响应,响应结束后才会发送下次请求,然后下次响应。简单总结,异步就是不会去等待服务端做出响应,只管发送,同步就是一次发送对应一次响应。
依次向同一个Action发送多个请求的时候,若有同步需求,可按照如下设置,
//取消异步,执行完一个post再继续
$.ajaxSetup({
async : false
});
举例:
$(function(){
$.ajaxSetup({async:false});//取消异步,执行完一个post再继续
$.post("test1",{"id":1},function(){},"json");
$.post("test2",{"id":2},function(){},"json");
$.post("test3",{"id":3},function(){},"json");
});
如果需要有些同步有些异步,应该使用最原始的ajax请求,设置具体的async值
$.ajax({
type : "post",
url : "${pageContext.request.contextPath}/dict_findByCode",
data : "test=" + test,
async : false,
success : function(data){
//do...
//do...
}
});
下面列出 jQuery ajaxSetup() 方法的一些参数:
jQuery ajaxSetup() 方法
名称 | 值/描述 |
---|---|
async | 布尔值,表示请求是否异步处理。默认是 true。 |
beforeSend(xhr) | 发送请求前运行的函数。 |
cache | 布尔值,表示浏览器是否缓存被请求页面。默认是 true。 |
complete(xhr,status) | 请求完成时运行的函数(在请求成功或失败之后均调用,即在 success 和 error 函数之后)。 |
contentType | 发送数据到服务器时所使用的内容类型。默认是:”application/x-www-form-urlencoded”。 |
context | 为所有 AJAX 相关的回调函数规定 “this” 值。 |
data | 规定要发送到服务器的数据。 |
dataFilter(data,type) | 用于处理 XMLHttpRequest 原始响应数据的函数。 |
dataType | 预期的服务器响应的数据类型。 |
error(xhr,status,error) | 如果请求失败要运行的函数。 |
global | 布尔值,规定是否为请求触发全局 AJAX 事件处理程序。默认是 true。 |
ifModified | 布尔值,规定是否仅在最后一次请求以来响应发生改变时才请求成功。默认是 false。 |
jsonp | 在一个 jsonp 中重写回调函数的字符串。 |
jsonpCallback | 在一个 jsonp 中规定回调函数的名称。 |
password | 规定在 HTTP 访问认证请求中使用的密码。 |
processData | 布尔值,规定通过请求发送的数据是否转换为查询字符串。默认是 true。 |
scriptCharset | 规定请求的字符集。 |
success(result,status,xhr) | 当请求成功时运行的函数。 |
timeout | 设置本地的请求超时时间(以毫秒计)。 |
traditional | 布尔值,规定是否使用参数序列化的传统样式。 |
type | 规定请求的类型(GET 或 POST)。 |
url | 规定发送请求的 URL。默认是当前页面。 |
username | 规定在 HTTP 访问认证请求中使用的用户名。 |
xhr | 用于创建 XMLHttpRequest 对象的函数。 |
最后
以上就是体贴大炮为你收集整理的Ajax 向同一个action发送多次请求的全部内容,希望文章能够帮你解决Ajax 向同一个action发送多次请求所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复