Ajax请求中的异步与同步,需要注意的地方说明

之前做项目时候,用到一个表格控件,它的数据是异步加载的,我在这个表格绑定数据的函数下面友做了一些业务处理,运行页面的时候,用浏览器在我写业务处理那地方打上断点跟踪,它确实执行了,可以最后显示的时候,它的处理被覆盖了,我很纳闷,当时也知道是这个表格绑定函数那出问题了,可是时间紧,它的函数是封装的,没有去具体跟踪,就直接让我的那部分业务处理延迟200ms执行,这样就好了,这是个笨法,不过也是个有效的办法,呵呵。

后来看了下文档,查了些资料,其实原理应该是这样的:

默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

复制代码 代码如下:

var temp;

$.ajax({

async: false,

type : "POST",

url : defaultPostData.url,

dataType : 'json',

success : function(data) {

temp=data;

}

});

alert(temp);

这个ajax请求则为同步请求,在没有返回值之前,alert(temp)是不会执行的。

如果async设置为:true,则不会等待ajax请求返回的结果,会直接执行ajax后面的语句。

时间: 2024-09-20 13:32:08

Ajax请求中的异步与同步,需要注意的地方说明的相关文章

Ajax请求中的异步与同步,需要注意的地方说明_AJAX相关

之前做项目时候,用到一个表格控件,它的数据是异步加载的,我在这个表格绑定数据的函数下面友做了一些业务处理,运行页面的时候,用浏览器在我写业务处理那地方打上断点跟踪,它确实执行了,可以最后显示的时候,它的处理被覆盖了,我很纳闷,当时也知道是这个表格绑定函数那出问题了,可是时间紧,它的函数是封装的,没有去具体跟踪,就直接让我的那部分业务处理延迟200ms执行,这样就好了,这是个笨法,不过也是个有效的办法,呵呵. 后来看了下文档,查了些资料,其实原理应该是这样的: 默认设置下,所有请求均为异步请求.如

Ajax请求中async:false/true的作用分析_AJAX相关

本文实例分析了Ajax请求中async:false/true的作用.分享给大家供大家参考,具体如下: test.html代码: <a href="javascript:void(0)" onmouseover="testAsync()"> asy.js代码: function testAsync(){ var temp; $.ajax({ async: false, type : "GET", url : 'tet.php', com

细数Ajax请求中的async:false和async:true的差异

实例如下: function test(){ var temp="00"; $.ajax({ async: false, type : "GET", url : 'userL_checkPhone.do', complete: function(msg){ alert('complete'); }, success : function(data) { alert('success'); temp=data; temp="aa"; } }); a

如何从jQuery的ajax请求中删除X-Requested-With

 X-Requested-With常用于判断是不是ajax请求,ajax请求中删除X-Requested-With的方法如下,感兴趣的朋友可以参考下 X-Requested-With常用于判断是不是ajax请求    但是有时我们会有需要删除X-Requested-With的情况    下面介绍一种方式 js代码   代码如下: $.ajax({  url: 'http://www.zhangruifeng.com',  beforeSend: function( xhr ) {  xhr.se

ajax 异步 拦截-ajax请求拦截,异步请求拦截不到

问题描述 ajax请求拦截,异步请求拦截不到 我想要在页面的所有ajax请求发出去之前和数据返回到页面上之前做一次拦截, 在发出去之前对请求参数做处理再发送,数据回来后对返回数据做处理再返回. 我用XMLHttpRequest谢了一段js代码做拦截,在发出去之前都没有问题,但是数据回来 后如果是异步的请求就拦截不到,比如用jQuery ajax发异步的请求,数据回来后就直接 进入success了,没有进入拦截器.简单的说就是onreadystatechange没有触发,请问 大家该怎么处理啊?纠

关于Ajax请求中传输中文乱码问题的解决方案_AJAX相关

今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custId) { $.ajax({ type: "Post", contentType: "application/x-www-form-urlencoded; charset=utf-8", url: "http://localhost/CRM/Ashx/HandK

关于Ajax请求中传输中文乱码问题的解决方案

今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custId) { $.ajax({ type: "Post", contentType: "application/x-www-form-urlencoded; charset=utf-8", url: "http://localhost/CRM/Ashx/HandK

如何从jQuery的ajax请求中删除X-Requested-With_jquery

X-Requested-With常用于判断是不是ajax请求 但是有时我们会有需要删除X-Requested-With的情况 下面介绍一种方式 js代码 复制代码 代码如下: $.ajax({ url: 'http://www.zhangruifeng.com', beforeSend: function( xhr ) { xhr.setRequestHeader('X-Requested-With', {toString: function(){ return ''; }}); }, succ

解决AJAX请求中含有数组的办法_AJAX相关

大家应该都发现了当我们发送AJAX请求的数据中带有数组时,是不能像普通JSON数据一样,直接放在data里发送给后台 比如有这样一个数据需要发送给后台: { "orderId": 22, "resourceJson": [ { "carCapacity": 223, "carNumber": "123", "driverInfo": "123", "fail