我要做的是在进入$.ajax({success});
方法之前自动启动一个函数。我是这样的:
$("body").ajaxSuccess(
function(event, XMLHttpRequest, ajaxOptions) {
alert("ajaxSuccess");
}
);
和:
$.ajax({
url: ".",
success: function() {
alert("success");
}
);
我的问题是,我首先看到“成功”,然后是“ajaxSuccess”,或者反过来。可能吗?还有其他解决办法吗?
问题与$ .ajaxError()...
相同由于
答案 0 :(得分:0)
您可以使用following:
dataFilter(data, type)
在第一次从服务器返回时拦截请求。这不是你想要用它的原因,但它是一个普遍的成功前例程。
预错误?也许全局错误处理程序对你有用吗?
var obj = {
someHandler: function(data, xmlObj, status) {},
someHandler2: function(data, xmlObj, status) {},
someErrorHandler: function(xmlObj, status, error) {},
someErrorHandler2: function(xmlObj, status, error) {}
}
jQuery.ajax({
success:function(data, xmlObj, status) {
// decide based on data what the run 2nd
if (data.success) {
obj.someHandler(data, xmlObj, status);
}
else {
obj.someHandler2(data, xmlObj, status);
}
},
error: function(xmlObj, status, error) {
// decide based on data what to run 2nd
//same as above.
}
});
我在我的一个项目中做了类似的事情。我有一个全局的Error对象,我根据从服务器返回的错误类型执行错误处理程序。我发现这是一种简单快捷的方法来为AJAX创建良好的错误处理