ajax同步异步参数async

编程技术  /  houtizong 发布于 3年前   78

        开发项目开发过程中,需要将ajax的返回值赋到全局变量中,然后在该页面其他地方引用,因为ajax异步的原因一直无法成功,需将async:false,使其变成同步的。

        格式:

$.ajax({ type: 'POST', url: httpUrl, data: JSON.stringify(params), contentType: 'application/json', async: false, success: function(data){…},error:function(data){…}});

        实例:

$.ajax({type:"post",url:"getSwitch.do",data:data,async:false,success:function(data){//登陆超时的处理if(data=="timeout"){logoutFun();}if(data.split(",")[0]=="Y"){var network=$("#network option:selected").val();if(network == undefined || null==network || network == "") {temp = true;}}},error: function(d){if(d.responseText=="timeout"){logoutFun();temp= true;}   alert("请求失败,可能是服务器或网络异常。");   }});

        总结一下:

1.ajax默认所有请求都是设置为异步的,如果需要同步,则设为false

2.如果请求是异步的,不能在回调之外直接拿到返回的data

3.如果设为同步的话,会阻塞后面的代码,也就是说如果这个请求需要执行30秒,就必须等30秒执行完之后,才能继续执行下面的

4.同步不支持跨域请求和数据类型:’jsonp'请求

5.如果将请求设置为同步的话,则不支持延迟方法,不能使用延迟方法$.Deferred,只能使用success/error/complete来代替比如deferred.always()/$.when等方法

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客