2011-10-27 44 views
1

我有以下代碼段。Ajax中的響應

ajaxRequest.onreadystatechange = function(){ 
     if(ajaxRequest.readyState == 4){ 
      var response = ajaxRequest.responseText; 
      } 
    }; 

如何檢查'響應'是否爲空?即使函數沒有顯示任何錯誤,'響應'也包含一個非空值。我的目標是導航到其他頁面,如果'響應'不包含任何錯誤消息。你能告訴我一個解決方案嗎?

回答

4

如果你想檢查響應是否有效(即存在的頁面),檢查status屬性:

if(ajaxRequest.status == 200) ; //... valid 

如果你想檢查響應是否爲空,在測試條件response != ""。由於在邏輯表達式中空字符串的計算結果爲false,因此!= ""不是必需的。

if(ajaxRequest.responseText) ; //not empty 
+0

這是值得一試的200多名其他成功響應,像'如果(ajaxRequest.status> = 200個&& ajaxRequest.status <300)' - 也如果'ajaxRequest.responseText'是'0'什麼?你應該做'if(ajaxRequest.responseText ==='')' – DaveRandom

+0

這就是工作..!感謝Rob。 – Karthika

+1

@Achu如果您的問題已得到充分解答,請使用** [接受答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)* *功能。你之前的問題也得到了正確的答案,儘管它沒有被接受。 –