0

JQuery / JSON / AJAX の初心者なので、よろしくお願いします。

SO や他のサイトの例からこのアートワークをつなぎ合わせましたが、苦労しています。

AJAX 応答を処理する関数をいくつか作成しました...

function newOrderSuccess(response) { ... }
function newOrderTimeout() { ... }
function newOrderFail() { ... }

...

AJAX 呼び出しは次のとおりです。

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(result),
        error: function(x, t, m) {
                   if(t==="timeout") {
                        timeoutFn();
                    } else {
                        otherFn();
                    }
                }
    });

}

私のコードは次のように関数を呼び出します:

sendCallAjaxUsingJson("/ordertaker.php", 'submitOrder','newOrderSuccess', 'newOrderTimeout', 'newOrderFail',1000);

結果は……何もない。newOrderFail()ファイルをアップロードする前に関数に到達していましたordertaker.phpが、今は何も得られません。

どこで私は間違えましたか?

4

1 に答える 1

1

sendCallAjaxUsingJson関数の代わりに文字列を渡していますが、

sendCallAjaxUsingJson("/ordertaker.php", 'submitOrder',newOrderSuccess, newOrderTimeout, newOrderFail,1000);

また、成功関数を設定するのではなく、ajax 呼び出しで呼び出しています。

success:successFn,
于 2013-03-20T21:48:46.410 に答える