$.ajax的async参数,jquery的$.ajax async使用详解

async在jquery ajax中是一个同步参数了,我们下面来给大家介绍在jquery ajax中使用async时碰到的一些问题与方法介绍,希望例子能给各位同学带来一些帮助哦。

async默认是true, 即为异步方式, $.Ajax执行后, 会继续执行ajax后面的脚步, 直到服务器端返回数据后, 触发$.Ajax里的success方法. 这时候执行的是两个线程.

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后面的语句。

附注:

异步就相当于将ajax 请求以一个线程的方式启动

同步就相当于将ajax 请求逐步执行只有ajax 请求执行文笔后才会执行后面的语句。

例子

$('#tel,#email').blur(function(){

var _this=this;

$.ajax({

type:'POST',

url:'',

//async:false,

dataType:'text',

//data:'',

success:function(data){

if(data==true){

$(_this).attr('flag',1)

}

}

});

});

$('form').submit(function(){

var isSubmit=true;

var input=$('input:text');

for(var i=0; i

input.eq(i).blur(); //点击提交 重新做一次验证

if(input.eq(i).attr('flag')==0){

isSubmit=false;

}

}

alert(isSubmit);

return isSubmit;

});

码如上,点击“提交”,所有输入框做一次ajax验证,如果都返回true,则提交表单;

如果不注释掉:async:false 没问题,但注释掉后,因为是异步传输,submit的时flag值还没来得及返回,所以都为false

表单提交不了

求:如果选择默认的async:true 该怎么判断,然后提交

ajax的async参数导致火狐浏览器闪屏

我的出现闪屏 的情况是:

$.ajax({

type: "post",

url: "index.php",

data: { },

async:false,

beforeSend:function(){},

success: function(data){

//...

},

complete:function(){}

});

在这里, 我的async设为了false, 原意是想返回数据了再执行$.Ajax后面的脚本, 没想到这个地方却导致了在火狐浏览器下出现闪屏.(Firefox 11.0), 滚动条下拉到底部触发ajax的情况.闪屏

最后将async:false注释掉, 也就是async为ture的情况下, 成功解决了火狐浏览器滚动条下拉到底部触发ajax出现闪屏的问题.

Jquery中.ajax和.post详解

之前写过一篇<.net mvc> ,里面有一些ajax的内容,但是不深入,这次详细剖析下jquery中$.ajax的用法. 首先,上代码: jquery-1.5.1 $ ...

jquery的ajax全局事件详解

jquery在ajax方面是非常强大和方便的,以下是jquery进行ajax请求时方法模板: $.ajax({ type: "get", url: "" ...

JQuery中&dollar;&period;ajax&lpar;&rpar;方法参数详解 及 async属性说明

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

JQuery中&dollar;&period;ajax&lpar;&rpar;方法参数详解

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

JQuery中&dollar;&period;ajax&lpar;&rpar;方法参数详解(转载)

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

转:JQuery中&dollar;&period;ajax&lpar;&rpar;方法参数详解

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

&lpar;转&rpar;JQuery中&dollar;&period;ajax&lpar;&rpar;方法参数详解

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

Jquery中&dollar;&period;ajax&lpar;&rpar;方法参数详解(转)

转自:http://blog.sina.com.cn/doctor830619 url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数, ...

JQuery中&dollar;&period;ajax&lpar;&rpar;方法参数详解及应用

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

随机推荐

Conversations is being developed

Development Conversations is being developed on GitHub by a team of volunteers under the lead of pro ...

使用Java-UrlConnection调用webService接口

URL wsUrl = new URL("http://192.168.1.1:8080/webservice"); HttpURLConnection conn = (HttpU ...

jQuery autocomplete 使用

推荐 :http://www.cnblogs.com/Peter-Zhang/archive/2011/10/22/2221147.html eg: $("#txtGrand"). ...

AutoMapper在ABP框架

AutoMapper在ABP框架中的使用说明 为了说明AutoMapper如何使用,我专门开设了一个专题来讲,如果您还没有查看该专题,请点击这里.既然系统地学习了AutoMapper,那么接下来就是该 ...

实例解析Collections源码,Iterator和ListIterator

比如一个视频或文章有多个页面标签设置,我们在看一篇文章或一个视频时,底部有为你推荐栏目. 如何根据这个文章或视频的标签,来实现这个推荐栏目呢. public List

Android代码混淆的问题解决&lpar;java&period;io&period;FileNotFoundException&rpar;

Android Studio(2.3.3) 在给代码混淆时,提示: Warning:Exception while processing task java.io.FileNotFoundExcept ...

安装windows后grub修复

安装windows之后发现ubuntu进不去了,主要原因在于grub被windows干掉了. 原本希望通过使用u盘来进行修复,结果U盘不被识别. 于是通过easybcd启动ubunt live光盘.进 ...

简单理解offsetleft、offsetTop、offsetParent

先来看看offsetParent返回的是什么值 ele.offsetParent返回的是ele元素最近的并且是定位过(relative,absolute)的父元素,如果没有父元素或者是父元素中没有一个 ...

ubuntu16&period;04下安装opencv-nonfree

在写计算机视觉与导航技术的课程作业,是关于sift和surf特征的提取及匹配.因为opencv中都有直接的函数可以调用. 关于SIFT和SURF的特征在opencv的nonfree模块中,从字面意思就 ...

树莓派3B&plus;学习笔记:5、安装vim

以下操作使用root账户登陆. 1.在终端中输入 apt-get install vim 输入“y”,回车: 2.等一下,安装完成: 3.用vim新建一个文本文件测试一下,在终端重输入 vim tes ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值