jquery post 返回格式错误
jquery post back wrong format
我尝试用 jQuery 比较两个字符串。然而它不起作用
我的post文件"post.php"回显一个字符串:
echo "true";
我的 jQuery 脚本尝试比较 post 返回数据。但是没用。
$.post( "post.php",
function( data ) {
if(data=='true'){
alert();
}
});
永远不会弹出警报。我将每个文件都保存为 utf-8。不知道我的代码有什么问题。
我快疯了。
将数据类型设置为文本
$.ajax({
url:"post.php",
type:"POST",
dataType:"text",
success: function(){
if(data=='true'){
alert();
}
}
});
jQuery 可以对 AJAX 响应的响应类型执行 intelligent guess,因为你只是在做 echo "true";
,它很可能推断出 text
或 HTML
,所以这不是你的问题(但为了安全起见,你可以将 "text" 添加到你的 post 类型)。
可能是您在结束标记前后的 PHP 中隐藏了空格。如果是这样,那么您的回答将不是真正的 "true",而是可能是“正确的”。在 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);
});
我尝试用 jQuery 比较两个字符串。然而它不起作用
我的post文件"post.php"回显一个字符串:
echo "true";
我的 jQuery 脚本尝试比较 post 返回数据。但是没用。
$.post( "post.php",
function( data ) {
if(data=='true'){
alert();
}
});
永远不会弹出警报。我将每个文件都保存为 utf-8。不知道我的代码有什么问题。
我快疯了。
将数据类型设置为文本
$.ajax({
url:"post.php",
type:"POST",
dataType:"text",
success: function(){
if(data=='true'){
alert();
}
}
});
jQuery 可以对 AJAX 响应的响应类型执行 intelligent guess,因为你只是在做 echo "true";
,它很可能推断出 text
或 HTML
,所以这不是你的问题(但为了安全起见,你可以将 "text" 添加到你的 post 类型)。
可能是您在结束标记前后的 PHP 中隐藏了空格。如果是这样,那么您的回答将不是真正的 "true",而是可能是“正确的”。在 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);
});