Javascript PHP脚本使用JQuery POST返回字符串中的特殊字符
我在该代码中有一个问题:Javascript PHP脚本使用JQuery POST返回字符串中的特殊字符,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我在该代码中有一个问题: var dataForm = $(this).serialize(), _user = recognizeUser(this); $.post(_user, dataForm, function(data, textStatus){ alert(data); if(data == "true") { alert("I'm in"); location.h
var dataForm = $(this).serialize(),
_user = recognizeUser(this);
$.post(_user, dataForm, function(data, textStatus){
alert(data);
if(data == "true") {
alert("I'm in");
location.href = URL;
}
return false;
});
因此,PHP脚本返回正确的数据,但在“true”之前有一个空格(“alert(data)”显示“true”,如下图所示)
PHP代码是:
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$result = $result->fetch_assoc();
$_SESSION['username'] = $result['Username'];
$_SESSION['password'] = $result['Password'];
echo "true";
} else {
echo "No user found";
}
谢谢问题肯定出在您发布代码片段之前的PHP脚本中(因为它在字符串
true
之前预先添加了空格/tab/任何内容)
在打开
之前,它可能是一个空格,请尝试用return true替换echo“true”,并用data==trueecho true
替换data==true,但不带引号。我不同意这两个评论。如果您想在PHP脚本中向客户机输出某些内容,可以echo
it。此外,http消息是字符串,而不是布尔值,因此输出布尔值或检查输出是否等于特定布尔值都没有意义(true
)。我调整了答案以明确问题所在以及.trim
解决方案何时起作用。谢谢你们两位的回答!我刚刚尝试了方法.trim(),结果它成功了!我检查了PHP脚本,在脚本的开头没有找到空格。。。可能在档案里的某个地方。多谢各位!不要介意。。。我在PHP脚本的末尾找到了一个空格。再次感谢你!它也可能是:
data = data.trim();
if(data == "true") {
alert("I'm in");
location.href = URL;
}