前后端交互条件错误操作方式


前后端交互条件错误操作方式


正文

以前前后端关于操作的处理,都是前台调用,后台成功:return 1,后台发生错误:return 0、或者return 2等。

开发的时候会发现,后台要写好多错误判断逻辑,返回到前端还需要重复写好多过滤逻辑,一方面开发效率降低,另一方面以后维护不方便。现在的解决办法是:后台把错误内容具体返回,前台只判断是否发生错误,不对错误具体细分处理,这样以后维护也简单。

看一下代码:

方案一:

  1. 后台:
    return json_encode(['error' => 0, 'data' => []]);   // 成功
    return json_encode(['error' => '举报过程异常', 'data'=> []]);  // 失败 
    
  2. 前端:
    $.post("/report/report-add", para, function (res) {
      var res = jQuery.parseJSON( res );
      if ( res.error != 0 ) {
          sweetAlert(res.error, "错误", "error");
          // 其他处理
    ......
      } else {
           // 成功处理
    ......
     }
    }); 
    

上面是收到返回后用jQuery.parseJSON()解析json格式为js对象,还有一种方法是在$.post()中带上返回数据的格式的参数,如:

$.post("/report/report-add", para, function (res) {
     if ( res.error != 0 ) {
         sweetAlert(res.error, "错误", "error");
         // 其他处理
   ......
     } else {
          // 成功处理
   ......
    }
}, 'json'); 

方案二:

  1. 后台:
    return json_encode([
     'code' => 200,
     'msg' => 'ok',
     'data' => [],
    ]);
    return json_encode([
     'code' => 86010,
     'msg' => '具体字符错误',
     'data' => [],
    ]);
    
  2. 前端:
    $.post("/report/report-add", para, function (res) {
     if ( res.code != 200 ) {
         sweetAlert( "错误", res.msg, "error" );
         // 其他处理
         ......
     } else {
         // 成功处理
         ......
     }
    }, 'json'); 
    






参考资料

http://www.w3school.com.cn/jquery/ajax_post.asp


返回