我正在 JSON 服务器之上编写一个主干 js Web 应用程序,该服务器返回 J 中的 JSON 响应发送规格格式 http://labs.omniti.com/labs/jsend.
以下是该格式的一些示例:
获取/帖子
{
"status": "success",
"data": {
"posts" [
{"id": 1, "title": "A blog post"},
{"id": 2, "title": "another blog post"}
]
}
}
发布/帖子
{
"status": "fail",
"data": {
"title": "required"
}
}
默认情况下,$.ajax 中的“error”事件由http 代码触发,但由于JSend 规范格式根本不使用HTTP 代码,因此我必须重写$.ajax 错误处理程序。
默认情况下的工作方式(http 代码):
$.ajax({
error: function() {
// Do your job here.
},
success: function() {
// Do your job here.
}
});
如何重写 $.ajax 错误处理程序,在解析正文时以及“状态”属性为“失败”或“错误”时触发它?
尽管看起来违反直觉,但您必须将其放入success
功能。只需自己检查该值:
$.ajax({
error: function() {
// Handle http codes here
},
success: function(data) {
if(data.status == "fail"){
// Handle failure here
} else {
// success, do your thing
}
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)