我有一个 URL 返回 Json ,
如果成功,则返回正常 Json 格式
[
{id:"1", code:"123"},
{id:"2", code:"456"}
]
如果错误,则返回报错 Json 格式
[
{error_code:"676", error_msg:"this is an error"}
]
请问 jquery 应该如何区分这两种情况呢? 还是有其他的一些常用的设计思路?本人刚接触 JS ,求教。
1
zdhxiong 2016-07-14 16:30:53 +08:00
if(typeof data.error_code === 'undefined'){
//正常 } |
2
shyling 2016-07-14 16:33:59 +08:00 via iPad
if(single.error_code){
//error } |
3
baby4free 2016-07-14 16:34:56 +08:00
建议统一消息格式。
{ code: 200,//表示成功,其他 code 都不成功 result: {},//正确的返回内容 errormsg:''//错误信息提示 } |
4
crysislinux 2016-07-14 16:37:52 +08:00
http header 错误了就传回 4xx ,这种情况 ajax 的 callback 不会走跟 2xx 的一样的路线。
|
5
kiwi95 2016-07-14 16:48:46 +08:00
API 的返回要统一格式,都加一个状态吗和消息字段,数据放到一个单独的键
|
6
mkeith 2016-07-14 17:15:54 +08:00
@crysislinux api 错误最好还是不要和 http 错误混起来用吧
|
8
BOYPT 2016-07-14 17:34:35 +08:00
先不争论 http 错误是否应该和业务错误混起来;
$.ajax() .done(function(ret){ // ret is json }) .fail(function(xhr){ var json = JSON.parse(xhr.responseText); })); |
10
iyangyuan 2016-07-14 18:48:39 +08:00 via iPhone
格式不标准造成的困扰
|
11
sunjourney 2016-07-15 00:59:40 +08:00 via iPhone
Json 放到 response body 里,错误看状态码
|