ajax同步请求的处理办法
来源:互联网 发布:成都英文seo外包 编辑:程序博客网 时间:2024/06/06 02:38
ajax请求通常以异步的形式发起的,但如果有两个请求A、B,B需在A成功返回时才进行,该怎么写?个人实践出个办法,看代码:
var ws = { //ajax是对jquery的ajax作薄层封装,以简化代码 //uri:请求链接 //method: 请求方法 //token: 身价凭证,可忽略 //data: 发送的数据 //async: true表示异步请求,false为同步请求 //callback: 回调处理 ajax:function(uri,method,token,data,async,callback){ $.ajax({ url: uri, type: method || 'GET', data: data, async: async, beforeSend:function(xhr){ if(!token){ return; } xhr.setRequestHeader('Authorization', 'Bearer '+token); }, success: function(data) { data = JSON.parse(data); if(callback !=null && typeof callback == 'function'){ callback(data);//特殊处理 }else{//通用处理 if(data.status_code == '200'){ alert("成功"); }else{ alert(data.msg); } } } }); }, init:function(){//请求A var data = { //你的数据 ... }; var url="你的url"; var flag = true;//标识返回结果是否正常 this.ajax(url,'POST',null,data,false,function(data){ if(data.status_code != '200'){//未能正确返回数据 alert(data.msg); flag = false; return; } }); if(!flag){ throw new Error("初始化失败");//未能正确返回数据就抛异常,关键地方 } }, play:function(){//请求B //如果init有异常就不执行请求 try{ this.init(); }catch(error){ return; } var url = '你的url'; var data = { //你的数据 ... }; this.ajax(url,'POST',null,data,true,null); } //其他方法已省略 };
init方法发同步请求,play方法里调用init,如果init正确返回才发起另一个ajax请求,重点在于init同步请求并抛异常,play捕获异常。
阅读全文
0 0
- ajax同步请求的处理办法
- aJax跨域请求,Java服务端的处理办法
- ajax的同步请求
- Ajax 请求的处理
- Ajax 同步请求的代码
- AJAX 同步请求的JS
- ajax是否能跨域请求,解决的办法
- ajax是否能跨域请求,解决的办法
- ajax是否能跨域请求,解决的办法
- ajax是否能跨域请求,解决的办法
- 三级联动时ajax的同步请求和异步请求处理
- ajax同步处理的理解。
- jQuery的ajax的同步请求
- ajax请求的同步和异步操作
- Ajax之同步请求
- Ajax同步提交请求
- ajax同步请求
- ajax发送同步请求
- Google《Android性能优化》学习笔记一
- 50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段
- java中实现URL类
- 利用canvas中的measureText测量字体的宽度
- ESP8266编译脚本之五
- ajax同步请求的处理办法
- Pat 1004. 成绩排名
- three.js 02-01 之场景基本功能
- 网站常用灰色,画线必备
- 解决ConstraintLayout两个组件挤压问题
- Java8 FunctionInterface
- linux驱动--带传参数的helloworld驱动
- Spring自定义属性转换器
- zoj-3826(字符串模拟)