求解jQuery 的 $.ajax()的返回值问题 20

console.log("-----------------111111111----------------")letdat=$.ajax({url:str,data:... console.log("-----------------111111111----------------") let dat=$.ajax({url:str,data:obj,async:true,success:function(){ console.log("----------------222222222----------------") }}); console.log("------------------------------------------") console.log(dat); console.log("-----------------333333333----------------") console.log($.Deferred());求解1:看图一好像执行顺序没有什么问题,但是看图2,$.ajax的返回值dat已经先于回调函数,把参数都拿到了???不是异步的吗???求解2:$.ajax,$.post 返回的对象究竟是不是$.Deferred())对象? 展开
 我来答
莫路草根
2018-05-22 · TA获得超过4102个赞
知道大有可为答主
回答量:4184
采纳率:85%
帮助的人:1035万
展开全部
1、$.ajax默认使用异步也就是async:true的方式调用ajax请求数据。这种方式会在ajax回调完成之前执行后面的代码,如果你要等ajax回调完成后再执行后面的代码,可以设置成async:false。
2、$.ajax()操作完成后,如果使用的是低于1.5.0版本的jQuery,返回的是XHR对象;如果高于1.5.0版本,返回的是deferred对象。
追问
我的就是异步啊,否则222会先于333执行,但是它的返回对象dat已经提前拿到参数了
我的就是异步啊,否则222会先于333执行,但是它的返回对象dat已经提前拿到参数了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式