2014-10-27 47 views
-1

我正在使用jquery-ajax發送數據到php。一旦成功或失敗,PHP發送迴應。到目前爲止一切正常。現在我的問題是如何在jQuery中使用if語句來使用響應進行一些操作?如果條件 - jQuery的響應

$.post("php/send.php", 
    { 
     email:$('#email').val(), 
     name:$('#name').val() 
    }, 
    function(response) { 
     //alert(response) 
     if (response == "errorA") { 
      //do A... 
     } else if (response == "errorB") { 
      //do B... 
     } else { 
      //do C... 
     } 
    )}; 

我的if語句不起作用。即使從PHP的響應是「errorA」或「errorB」,它會//做A.我該如何解決這個問題?

+2

什麼是** **準確響應的內容通過服務器發送? – esqew 2014-10-27 17:52:24

+2

使用'console.log()'得到什麼是響應。 – Satpal 2014-10-27 17:52:47

+0

嘗試使用三個if而不是if()... else if() – 2014-10-27 17:52:57

回答

2

這是因爲您收到的回覆是逗號分隔的字符串,JavaScript將其視爲數組。

試試下面

if(response.indexOf("errorA")==0) { 

} 
else if(response.indexOf("errorB")==0) { 

} 
+0

爲什麼不會迴應? 'if(!(response.indexOf(「errorA」)> = 0))' – Anne 2014-10-27 18:16:20

+0

你想要達到什麼目標 – 2014-10-27 18:18:00

+0

謝謝。我想使用該響應來輸出自定義錯誤消息。這工作'if(response.trim()==「errorA」){'。但我不知道你爲什麼提出這個'if(response.indexOf(「errorA」)== 0)'而不是。 – Anne 2014-10-27 18:26:26