2012-06-21 29 views
1

將Async設置爲false時,此代碼處理正常,但將Aync設置爲true時,只要調用Ajax,就會拋出錯誤(警告消息「失敗」)但它仍然處理(意味着數據發送到服務器端並保存數據!)。異步設置爲True拋出錯誤,但仍然向服務器端發送數據

因此,將Async設置爲false或true會執行該作業,但將Async設置爲true會轉到Error並引發錯誤。

我正在通過按鈕上的onClick事件調用此Ajax。

$.ajax({ 
    type: "POST", 
    async: true, 
    cache: false, 
    url: "ScriptWS.asmx/UpdateXml", 
    data: "{'QuestionKey':'" + QuestionKey + "'}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "html", 
    success: function (data) { 
     UpdateXml_CallBack(data); 
    }, 
    error: function (msg) { 
     alert('fail'); 
}); 

謝謝你的幫忙!

+0

asyc:真的永遠不會是答案。如果你不想用戶交互,你可以模擬出屏幕。但瀏覽器不喜歡異步 – Joe

回答

0

我確實找到了答案。

問題是我正在運行一個for-loop來發送AJAX調用。所以它同時發送AJAX調用,並且響應正在丟失,或者被下一個AJAX調用中斷。

我從這裏解決了這個問題,通過使用AjaxQueue http://gnarf.net/2011/06/21/jquery-ajaxqueue/

謝謝。

相關問題