AJax 异步请求封装的问题

本文介绍了一种统一处理客户端异步请求的方法,并提供了具体的实现代码示例。通过封装异步请求,可以规范JSON数据格式,简化错误处理流程。此外,还展示了如何在后台输出标准化的JSON格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!--StartFragment -->

客户端可以直接使用该返回值(JSON对象)
规范化可以避免拼接JSON字符串出错
建议你重新封装一下异步请求。统一异步返回json的格式。默认统一处理失败
Chenxin.ajax=function (option){ Chenxin.apply(option,{ success: function(result){ try{ if(typeof(result)=='string'){ var s=result; var reg=new RegExp("/r/n","g"); s=s.replace(reg, ""); reg=new RegExp("/r","g"); s=s.replace(reg, "//r"); reg=new RegExp("/n","g"); s=s.replace(reg, "//n"); eval('result='+s); } }catch(e){ //alert(option.url); alert('数据格式返回错误!'); if(option.onWrong){ option.onWrong.call(option.scope,result); } return; } if(result.success==-1){//登录超时 alert(result.msg||'登录超时,请重新登录!'); window.location.href=Chenxin.loginUrl; }else if(result.success==0){//执行失败 alert(result.msg); if(option.onFail){ option.onFail.call(option.scope,result.data,result.msg); } }else if(option.onSuccess){ option.onSuccess.call(option.scope,result.data,result.msg); } }, error: function(){ if(option.onError){ alert('服务器无法响应,请稍候再试!'); option.onError.call(option.scope); } return false; } }); option.url+=option.url.indexOf('?')==-1?'?':'&'+'_r='+Math.random()*10000000000; Chenxin.applyIf(option,{dataType:'text'}); $.ajax(option); }
后台输出
以上是我们简单重新封装了一下 return string.Format("{{success:'1',msg:'{0}',data:'{1}'}}", Resources.Message.Global_Msg_SUCCESS, strHTML); } catch (Exception ex) { return string.Format("{{success:'0',msg:'{0}:{1}',data:''}}", Resources.Message.Global_Err_Exception, ex.Message); } 后台返回的json保持这种格式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值