2012-04-15 27 views
1

我在這裏有一個小問題,一個IF條件在Ajax回調不工作:的Javascript條件AJAX回調

$.ajax(
     { 
      type: "POST", 
      url: "AjouterAttribut.php", 
      data: { val: Valeur, table: Attribut } 
     }).done(function(message) 
     { 
      if (message == '-') 
      { 
       alert("test"); 
      } else { 
       alert(message); 
       var Tableau = jQuery.parseJSON(message); 
       $this.prev().find('option').remove(); 

       for (var i=0; i< Tableau.length; i++) 
       { 
       $this.prev().append("<option value="+ Tableau[i][0] +">" + Tableau[i][1] + "</option>"); 
       } 
      } 
     }); 

的問題是,當AJAX功能確實發回「 - 」的消息,它會直接通過,如果進入其他地方,並提醒' - '。到底是怎麼回事?

+0

嘗試在php文件中回顯「0」,而不是當我提醒消息時,它清楚地顯示0,但是當我嘗試alert((message =='0'));它會提醒FALSE。 – Sefam 2012-04-15 00:09:11

+0

當我嘗試回顯0作爲一個整數和比較消息== 0.它的工作原理,但它根本不工作的字符串,雖然。任何方式,我可以使它的工作? – Sefam 2012-04-15 00:17:09

+0

爲什麼不試試成功:而不是.done()? – Indy 2012-04-15 00:14:22

回答

1

嘗試在開始/結束標識符中包裝消息以檢查空白區域,或在if語句之前修剪消息。

$.trim(message); 

alert('|' + message + '|'); 

通過使用控制檯而不是警報,您可能會獲得更多的時間。

console.log(message); 

適用於Chrome,Firefox,Safari。爲了測試,這是我首選的方法。

+0

工作正常!謝謝。 – Sefam 2012-04-15 00:25:03

+0

你完全歡迎。很高興我能幫上忙。 – Lazerblade 2012-04-15 00:28:32