2015-10-19 37 views
1

我试图让使用$.get

$.get("test.php", function(result) { 
    if (result){ 
    alert("FOUND"); 
    } else { 
    alert("NONE"); 
    } 
}); 

PHP代码字符串形式的服务器是

<?php 
    echo ""; //found nothing 
?> 

但结果始终是“发现”,我尝试看看使用此代码

var m = ""; 
for (var k=0; k < result.length; k++) { 
    m += result.charCodeAt(k) + ","; 
} 
alert(m); 
从服务器返回什么

结果是:9,13,10,9,13,10,

不管从服务器返回什么字符串,它总是以此字符串结尾。问题是什么?

+1

使用代码格式化使用代码 –

+2

它看起来像你在你的PHP文件中有几个标签和换行符。确保'<?php'在开始时是_right_,并且可以完全省略'?>'以确保您不会收到任何不需要的输出。这会改变结果吗? –

+0

您也可以修剪客户端的字符串,因为它只包含空格。 –

回答

1

我找到了原因,在我的php代码的末尾有两个\ t。

+0

也可以把回声“”;死; –

+0

您可以在回调函数中使用'result = result.trim()'来防止前后空白(以及所有空白响应,这似乎就是这种情况)。 – pawel

-1
$.ajax("test.php") 
    .done(function(response) { 
    alert("success"); 
    }) 
    .fail(function() { 
    alert("error"); 
    }); 

如果您要检查的AJAX请求是成功还是失败,使用这个,如果你想查询的响应提醒它,如果你想这样if(response=="")您的发言

+0

小心 - PHP可能会返回一个200“成功”状态的错误消息,因此即使没有test.php,done也会运行。你需要看看这个价值,看看它是否符合你的期望。 – tomf

+0

然后我们可以使用响应参数 – WisdmLabs

+0

来检查它,并且在每个.php文件的末尾,我们应该写die(),否则它将在最后返回1 – WisdmLabs