jquery ajax请求同步与异步问题
2015-05-12 21:08
260 查看
默认发送ajax请求都是异动,以下设置为同步(async:false),此时是要等到ajax的回调函数success执行完毕后,才执行这个ajax之后的代码(即alert(333);return;).如此时需要根据data==1而结束整个调用这个ajax的方法,就不能在success判断return了,此时的return仅仅只是
结束这个ajax请求而不是调用这个ajax的方法,后面代码(即alert(333);return;)还是会执行下去。若想根据ajax的data判断是否结束方法,
则需要在ajax外面判断,先把ajax请求后data赋值给外部变量message,再用message==1判断是否结束此方法。
PS:一定要设置成同步,否则message有可能为undefined就无法判断了
(同步一定会等到回调函数success执行完后再执行ajax后续代码,异步的不要说回调函数success执行完,就是有可能ajax请求都没有发在它之后代码就执行了!)
var
message;
$.ajax({
type: "GET",
url: "test.json",
async:false,
data: {username:$("#username").val(), content:$("#content").val()},
dataType: "json",
success: function(data){
//if(data==1)
return;
message = data;
}
});
if(message==1) return;
alert(333);
return;
结束这个ajax请求而不是调用这个ajax的方法,后面代码(即alert(333);return;)还是会执行下去。若想根据ajax的data判断是否结束方法,
则需要在ajax外面判断,先把ajax请求后data赋值给外部变量message,再用message==1判断是否结束此方法。
PS:一定要设置成同步,否则message有可能为undefined就无法判断了
(同步一定会等到回调函数success执行完后再执行ajax后续代码,异步的不要说回调函数success执行完,就是有可能ajax请求都没有发在它之后代码就执行了!)
var
message;
$.ajax({
type: "GET",
url: "test.json",
async:false,
data: {username:$("#username").val(), content:$("#content").val()},
dataType: "json",
success: function(data){
//if(data==1)
return;
message = data;
}
});
if(message==1) return;
alert(333);
return;
相关文章推荐
- ppst——技术视频 jquery ajax 请求 同步异步的执行的设置
- js中请求数据的$post和$ajax区别(同步和异步问题)
- 关于异步I/O请求被同步处理的问题。。
- 关于jquery ajax 异步请求 中文乱码问题。
- Jquery ajax异步请求带来的问题及解决方案
- extjs ajax 异步请求正常同步请求出错问题的可能原因
- 多个ajax请求的同步异步问题
- NSURLConnection同步与异步请求 问题
- 关于jquery ajax 异步请求 中文乱码问题。
- Jquery ajax异步请求带来的问题及解决方案
- Javascript escape 解决 Jquery Ajax 异步请求 URL中文传参乱码问题 一般处理程序Handler获取参数
- 前端踩坑小结:多个异步请求在同一个函数里面执行时的同步问题之promise的用法。
- iOS 信号量解决-网络异步请求的数据同步返回问题
- javascript Ajax 同步请求与异步请求的问题
- [转]IOS程序之HTTP同步请求与异步请求问题解决
- ajax请求同步异步问题
- 关于IOS9中NSURLConection的同步或异步发送请求过时问题。
- 浅谈js的ajax的异步和同步请求的问题
- jq的ajax请求同步与异步的问题
- javascript Ajax 同步请求与异步请求的问题