2010-01-11 60 views
1

我需要評估的Ajax.Request(使用原型)與switch語句中的迴應:如果我檢查服務器發送的「結果」值switch語句的結果總是默認狀態

new Ajax.Request('http://localhost/somescript.php',{method:'post',parameters:params,onSuccess: 
    function(response) 
    { 
     var result = response.responseText; 
     switch (result) 
     { 
      case "ok": 
      //do something... 
      break; 

      case "nok": 
      //do something... 
      break; 

      case "almost": 
      //do something... 
      break; 

      default: 
      //do something... 
     } 
    } 
    }); 

腳本的響應是正確的(根據發送的參數,字符串:「ok」,「nok」或「almost」)。但由於某種原因,交換機總是評估默認狀態!我試圖在switch語句之前將「result」與一個空字符串連接起來,但沒有運氣......我在這裏錯過了什麼?

+1

您如何知道正在評估默認語句? – JaredPar 2010-01-11 15:17:09

+0

你怎麼知道結果等於「OK」,「諾」或「差不多」? – 2010-01-11 15:23:46

+0

每種情況下使不同的動作,所以確實默認語句(顯示一個文本消息)。 – JoaoPedro 2010-01-11 15:26:00

回答

0

大概是因爲結果中包含一個換行符。嘗試使用類似的方法修剪它:

var result = response.responseText; 
result = result.replace(/^[\s\r\n]+|[\s\r\n]+$/g, "");