2011-06-29 40 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