我正在向 php 文件发出请求。响应在 .done(function(msg){}) 中处理;和 .fail 这工作正常。但有时请求会出错。我为此重试了一次。重试也有效。但是,如果第一次失败并且在 de 2 或 3 中成功,请尝试我的 request.done 不会触发(在 firebug 中我可以看到它是成功的)
我的请求:
var request = $.ajax({
url: "wcf.php",
type: "POST",
dataType: "xml",
async: false,
timeout: 5000,
tryCount: 0,
retryLimit: 3,
data: { barcode: value, curPrxID: currentPrxID, timestamp: (new Date).getTime()},
error: function (xhr, ajaxOptions, thrownError) {
if (xhr.status == 500) {
alert('Server error');
}
this.tryCount++;
if (this.tryCount < this.retryLimit) {
$.ajax(this);
//return;
}
}
}) ;
这是 .done 和失败:
request.done(function(msg)
{
$(msg).find("Response").each(function()
{
// my code here
});
});
request.fail(function(jqXHR, textStatus, errorThrown)
{
$("#message").html(errorThrown);
});