我正面临 Deferrent 以及如何在这种特定情况下使用它的问题。
情景如下。
我有一个循环,我将一些数据发送到服务器。例如:
var array = [{"effect":"save","params":["login_0_form_form_login"],"url":"http://www.example.local/login"},{"effect":"redirect","params":["index"],"url":"http://www.example.local/index"}];
$.each(array,function(key,payload) {
$.post(payload.url,payload);
});
然后是一个成功的方法来处理来自 ajax 调用的结果。
App.success = function(result){
//Here I am deciding what to do with the result and checking for errors or warnings
if(result.notification.success) {
//Everything is good
}
else if(result.notification.error) {
//Something is wrong, somehow stop the other ajax call
}
}
尽管如此,我面临的问题是,服务器可能会返回错误,例如登录数据错误。在这种情况下,尽管服务器返回了错误的登录数据,它还是会重定向。我需要以某种方式控制上一个请求是否返回错误。如果是,请不要跟帖。
我试图在 $.when 函数中并使用 $.then 来返回 $.post。但我没有达到我所希望的。