使用jquery的.get工作在回调函数中处理数据

时间:2013-08-01 03:27:06

标签: php javascript jquery ajax

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

这是我的代码:

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


 function resp(data) {

      console.error(data);

      if(data == 'ready') {

           alert(data);               
      }
 }

现在,数据肯定包含'ready',正如我在查看错误控制台时所看到的那样(console.error(data);在控制台中打印'准备好')。

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

但为什么呢? 我可以打印数据,我可以看到它肯定等于'ready',但是if语句中的语句永远不会被执行。

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

感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

您的回复中可能有额外的空格,请尝试:

function resp(data) {
      data = $.trim( data );
      console.error(data);
      if(data == 'ready') {    
           alert(data);               
      }
 }

答案 1 :(得分:2)

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

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


function resp(data) {

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

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

        alert(data);               
    }
}

答案 2 :(得分:1)

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

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