2012-04-15 66 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