我在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会返回一个简单的字符串。 我错过了什么?
感谢您的帮助!
答案 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');