我有一个完整的 ajax 应用程序。许多按钮和文本字段触发$.post
方法。现在,我要做的是检查每个post's
方法的结果,如果这个对象的success
字段设置为 false,我想执行some_method
方法。最好的方法是什么?我不想在我使用post
方法的每个函数中都做这个检查。是否可以创建一些在每个post
方法成功时触发的观察者?谢谢你。
问问题
39 次
3 回答
0
你可以使用这个:
$(document).ajaxSuccess(function(event, request, settings) {
if (settings.type == "POST") {
console.log("Post success :D");
}
});
$.post(url, function(data) {
console.log("Success return: " + data);
}).fail(function(e) {
console.log("Error: " + e.message);
});
于 2013-07-01T11:48:07.527 回答
0
使用ajaxSuccess()全局事件处理程序
附加一个在 Ajax 请求成功完成时执行的函数
前任:
$('body').ajaxSuccess(function(e, xhr, options) {
if (xhr.responseText
&& options.dataType == "json") {
var json = JSON.parse(xhr.responseText );
//custom
}
});
于 2013-07-01T11:45:37.113 回答
0
您将不得不使用ajaxSuccess全局事件处理程序并添加一些逻辑来防止执行这两个回调:
$(document).ajaxSuccess(function(event, xhr, settings) {
if ( !settings.success ) {
//The ajax request does not have a success callback
}
});
或者您必须更改每个 post 调用以将参数设置global
为false
以防止触发全局处理程序。
于 2013-07-01T11:54:45.023 回答