Igo*_*pko 5 javascript jquery jquery-ui jquery-plugins
我有一个帖子请求
$.post("test", {
ajax: "true",
action: ""
}).done(function(data){
if (data == "ok"){
//xxx
} else if (data == "err"){
//yyy
}
}).fail(function(){
//yyy
});
Run Code Online (Sandbox Code Playgroud)
如果.done()方法中的代码(注释'yyy')在fail方法中相同(注释'yyy'),如何避免post请求中的代码重复?
最明显和最简单的解决方案是简单地进行故障回调,如下所示:
function ajaxFailed() {
// yyy
}
$.post("test", {
ajax: "true",
action: ""
}).done(function(data){
if (data == "ok"){
//xxx
} else if (data == "err"){
ajaxFailed();
}
}).fail(ajaxFailed);
Run Code Online (Sandbox Code Playgroud)
您可以使用always回调方法,并且请求将始终进入该块。如您所知,当数据包含错误或不包含错误时,此方法适用于服务器端错误。您可以通过定义最后的 else 块来捕获客户端错误。
$.post("test", {
ajax: "true",
action: ""
}).always(function(data){
if (data == "ok"){
//xxx
} else if (data == "err"){
//handle server-side errors
} else {
//handle client-side errors like 404 errors
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13530 次 |
| 最近记录: |