jquery - 如何将失败方法调用到 jquery.get/post 成功方法中?
问题描述
如何将失败方法调用为 ajax 回调成功方法?例如,当我从服务器获取一些日期时,我不得不说这些数据不正确。为此,我使用以下代码:
Loading.show();
$.post(_api_server+"sign/in.php",opt,function(gets){
try{
if(gets.success){
Toast.show("success!!!","succ");
}else{
// duplicate codes
Loading.hide();
Toast.show("not Ok!!!");
}
}catch(e){
// duplicate codes
Loading.hide();
Toast.show("not Ok!!!");
}
}).fail(function(){
// duplicate codes
Loading.hide();
Toast.show("not Ok!!!");
});
如您所见,我使用重复的代码来做一件事。我想使用这样的东西:
Loading.show();
$.post(_api_server+"sign/in.php",opt,function(gets){
try{
if(gets.success){
Toast.show("success!!!","succ");
}else{
this.fail();
}
}catch(e){
this.fail();
}
}).fail(function(){
Loading.hide();
Toast.show("not Ok!!!");
});
我怎样才能做到这一点?有什么办法吗?
- 更新
我有许多带有不同失败方法的 ajax,我不能使用其他/外部功能。
解决方案
您可以简单地将重复的代码放在一个函数中。如果您将其定义为非匿名函数,或者您通过变量引用匿名函数,您将能够从任何地方调用它。
var failedRequest = function(){
Loading.hide();
Toast.show("not Ok!!!");
};
Loading.show();
$.post(_api_server+"sign/in.php",opt,function(gets){
try{
if(gets.success){
Toast.show("success!!!","succ");
}else{
failedRequest();
}
}catch(e){
failedRequest();
}
}).fail(failedRequest);
推荐阅读
- python - 如何找到列表中出现次数最多的两个字符串?
- css - CSS Position absolute 不适用于某些图标
- powerbi - 如何将 power bi 数据集中的文本列设为数值
- angularjs - 使用 require.js 创建 angular.js 服务的未知提供程序错误
- javascript - 没有onclick wordpress的重定向页面
- swift - 检查协议数组中的对象是否为子类类型
- flutter - 小部件构建后如何获取状态更改值?
- mongodb - 如果数组中的所有元素都匹配条件,Mongo 删除文档
- html - 带有 css 的 Django 模板条件
- forms - FLUSHBAR:任何熟悉这个包的人,如何在其中创建一个表单?