我尝试用jQuery比较两个字符串。但它不起作用
我的帖子文件“post.php”回显一个字符串:
echo "true";
我的jQuery脚本尝试比较回发数据。但它不起作用。
$.post( "post.php",
function( data ) {
if(data=='true'){
alert();
}
});
警报永远不会弹出。我将每个文件保存为utf-8。不知道我的代码有什么问题。
我疯了。
答案 0 :(得分:0)
将dataType设置为文本
$.ajax({
url:"post.php",
type:"POST",
dataType:"text",
success: function(){
if(data=='true'){
alert();
}
}
});
答案 1 :(得分:0)
jQuery可以对AJAX响应的响应类型执行intelligent guess,并且由于您正在执行echo "true";
,因此很可能推断text
或HTML
,所以这不是你的问题(但为了安全起见,你可以添加"文字"到你的帖子类型)。
可能是您在结束标记之前或之后在PHP中隐藏了空格。如果是这样,那么你的反应将不会真正成为" true"但也许"真&#34 ;.在post.php
中检查一下。或者,您可以trim()
AJAX响应。
您还没有设置错误处理程序,因此您可能会遗漏一些有用的调试信息。试试这个以获得更多洞察力:
$.post("post.php", function(data) {
if(data && data.trim() === "true") {
alert("Success");
} else {
alert(data);
}
}, "text")
.fail(function(xhr) {
alert("Error: " + xhr.statusText);
});