0

ここで何が起こっているのかわかりませんが、成功した応答を得ることができません。これが私のコードです:

function sendCallAjaxUsingJson(theUrl, theData, successCallbackFunction, timeoutCallbackFunction, otherErrorCallback, timeoutValueMilli)
{
    var successFn = successCallbackFunction; 
    var timeoutFn = timeoutCallbackFunction; 
    var otherFn = otherErrorCallback;
    if(!(typeof successFn === 'function') || !(typeof timeoutFn === 'function') || !(typeof otherFn === 'function')) 
        return false;

$.ajax({
        type: "POST",
        url: theUrl,
        timeout:timeoutValueMilli,
        dataType: 'json',
        data: { json: JSON.stringify(theData) },
        success:successFn,
        error: function(x, t, m) {
                   if(t==="timeout") {
                        timeoutFn();
                    } else {
                        otherFn();
                    }
                }
    });
}

サーバー側ではPHPを使用しています。

PHP スクリプトsleepを 2 秒間作成し、1000 ミリ秒のタイムアウトを使用することで、タイムアウト機能をトリガーできます。Timeout 関数は正しく実行されます。ただし、スクリプトから文字列をエコーするだけでは、成功関数が起動しません。代わりに、otherFn上からの火。Firebug を使用すると、スクリプトからエコーした文字列が正常に受信されたことがわかります。

では、なぜエラー スクリプトを呼び出すのでしょうか。すべてが成功したように見えますが、エラー関数が起動します。

4

0 に答える 0