我是一个发送 ajax 请求的 javascript 函数。请注意,即使“一切似乎都正常”,服务器也可能返回错误,这意味着成功的处理程序中可能存在错误信息:
function sendAjaxRequest(){
$.ajax({
type: "GET",
url: "/123",
success: function(data){
//there might and might not an error in data
if(data.error_exists){
retryIfError(data);
} else{
//everything is ok for sure
}
},
error: function(xhr, textStatus, errorThrown){
//there is the error for sure
retryIfError(xhr);
}
});
}
function retryIfError(data){
var error = data.error_list # the array of error messages
// ... what should I do further?
}
原因是success: function(data)
可能有错误是服务器使用begin ... rescue
运算符来抑制它们。这是正确的方法吗?
第二个问题:
所以目标是发送sendAjaxRequest()
直到没有错误为止。我怎么做? 当然,我也想限制发送sendAjaxRequest()
请求的数量,但我认为这将是微不足道的,我会自己处理。