私は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とfailです:
request.done(function(msg)
{
$(msg).find("Response").each(function()
{
// my code here
});
});
request.fail(function(jqXHR, textStatus, errorThrown)
{
$("#message").html(errorThrown);
});