Jquery $.ajax,$.post,同步异步问题


今天发现$.get的回调函数无法赋值 debug发现在,回调函数还未执行时赋值操作已完成考虑到可能是异步操作。
在网上查找资料发现:Jquery封装好的$.post $.get发得请求都为“异步”请求,所以发出请求后还没等一般处理程序处理返回结果,就执行了为变量赋值,因此取到的值总为undefined。
解决方法:
function testAsync() {
var result;
$.ajax({ url: "",
async: false,//改为同步方式
type: "POST",
data: { },
success: function (data) {result = data; } });
return result;
}
或者
$.ajaxSettings.async = false; //关闭异步
$.post(.....)
$.ajaxSettings.async = true//打开异步

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM