ajax成功不成功

时间:2013-03-21 04:37:05

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

在服务器端我正在使用PHP。

我可以通过使PHP脚本sleep持续2秒并使用1000毫秒超时来触发超时功能。 Timeout功能正确执行。但是,当我只是从脚本中回显一个字符串时,我没有触发成功函数。相反,otherFn从上方开火。使用Firebug,我可以看到我从脚本中回显的字符串已成功接收。

那为什么要调用错误脚本?看起来一切都很成功,但它会触发错误功能。

0 个答案:

没有答案