0

我在处理从 javascript 中的 php 脚本返回的数据时遇到了一个奇怪的问题。

这是我的代码:

 $.get('status.php', null, resp, 'text');


 function resp(data) {

      console.error(data);

      if(data == 'ready') {

           alert(data);               
      }
 }

现在,当我查看错误控制台时,数据肯定包含“就绪”(console.error(data); print me 'ready' in the console)。

但是 if 语句不返回 true,因此不执行 alert 语句。

但为什么?我可以打印数据,我可以看到它绝对等于“就绪”,但 if 语句中的语句永远不会被执行。

我以为 .get 只会返回一个简单的字符串。我错过了什么?

谢谢你的帮助!

4

3 回答 3

2

可能您的回复中有多余的空格,请尝试:

function resp(data) {
      data = $.trim( data );
      console.error(data);
      if(data == 'ready') {    
           alert(data);               
      }
 }
于 2013-08-01T03:28:55.823 回答
2

可能文本中有空格,你可以试试if($.trim(data) == 'ready')

$.get('status.php', null, resp, 'text');


function resp(data) {

    console.error(':' + data + ':');

    if($.trim(data) == 'ready') {

        alert(data);               
    }
}
于 2013-08-01T03:29:17.307 回答
1

jquery 可以区分数据和回调,尝试将您的函数作为第二个参数传递。

$.get('status.php', resp, 'text');
于 2013-08-01T03:28:42.747 回答