2011-06-29 62 views
0

我有以下的js部分來保存一些數據,當它保存好我想隱藏表單並顯示一個成功的消息。無法使ajax回調函數正常工作?

我有這樣的:

$.ajax({ 
     type: "POST", 
     url: "<?php echo dirname(WP_PLUGIN_URL.'/'.plugin_basename(__FILE__)); ?>/save.php", 
       data: str, 
       success: cb_success 
      }); 
var cb_success = function(msg){ 
      alert('test '+ msg); 
         if(msg == "OK") 
         { 
          result = '<div class="notification_ok">Thank you!</div>'; 
          alert('test '+ result); 
          jQuery("#widget-firn").hide(); 
         } 
         else 
         { 
          result = msg; 
         } 
         jQuery(this).html(result); 
        /
       } 

第一警報並顯示OK,但如果(MSG 「OK」 ==)似乎並沒有工作???

+0

大概是因爲msg!=「OK」 – BonyT

回答

1

如果alert(msg)返回「OK」,但msg=="OK不行,請嘗試強制msgtoString(),因爲它可能不是,原因alert確實顯示出它作爲一個是因爲警報經常自動做了toString()

所以嘗試:

msg.toString() == "OK" 

如果不工作,那麼究竟檢查是msg使用console.log(msg)例如什麼。

+0

嗯我試過了你的sugegestions toString()沒有工作(我完全認爲它會)並檢查console.log(「msg equals:」.msg);返回預期的OK – alex

+0

,而不是將其強制爲一個字符串,只要執行'console.log(msg)'(沒有別的,所以你可以看到它只是文本,或者它實際上是一個數組,對象或其他東西) – Niklas

+0

@niklas ,是的,我試過console.log(味精),它只是返回OK,所以它看起來就像文本 – alex