2011-06-29 81 views
0

我有一個客戶端(用JS-jQuery編寫)發送4個請求到服務器(用ASP.NET-C#編寫)。
前3個請求正常工作;但收到服務器端時最後一個是空的。
棘手的AJAX請求

  1. 當我使用螢火看到客戶端發送請求時,它看起來不錯,但服務器仍然收到一個空的查詢字符串;
  2. 當我做一個「一步一步」調試與螢火蟲,服務器得到正確的要求。

我認爲這是一個跨域問題,但在這種情況下,所有4個請求不應該工作!
你有過類似的問題嗎?我怎麼解決這個問題 ?
感謝您的回答。

+0

聽起來像一個「synchronisity」的問題 - 你試過設置異步=虛假您ajaxSetup? –

+0

顯示發出請求的代碼 – hvgotcodes

回答

0

設置async: false有其他影響。

如果您將async設置爲false,則瀏覽器將下注被阻止,直到響應從服務器回到客戶端,這會影響客戶端的性能和用戶體驗。如果您可以分享導致問題的代碼片段,我們可能會幫助您解決問題。將async設置爲false可能不是正確的解決方案。

您可以分享一些關於以下幾點的細節 請求的順序是什麼? 所有的請求都是獨立的還是一些請求都依賴於其他請求的響應值?

取決於另一個請求(第3 1)第4 Ajax請求(其失敗之一)的機率是非常多,因爲你說,如果你設置asyncfalse請求工作正常。

在這種情況下,我建議像

$.ajax({ 
    url: 'request whose result need to be used in the 4th request', 
    data:{....} 
    .... 
}).success(function(result){ 
    $.ajax({ 
     url : '4ht request', 
     data:{ 
      xyx : result.abc, 
      ...... 
     } 
    }); 
})