我正在使用像这样的ajax帖子......
$(document).on("click",".Resend",function() {
$.ajax({
type: "POST",
url: "file.php",
timeout: 3000,
data: dataString,
cache: false,
success: function(myhtml){
// If success
if (myhtml == "success") {
alert(myhtml);
} else {
alert("No");
}
}
});
});
例如,回调的PHP / HTML很简单......
<?php
echo "success";
?>
由于一些奇怪的原因,我得到错误的回复警报=否。有人可以向我解释为什么会发生这种情况吗?
答案 0 :(得分:3)
假设您要发布的页面存在,则响应的内容可能包含一些空白区域;因此,字符串比较会失败。
你可以试试这个:
if ($.trim(myhtml) == 'success') {
alert(myhtml)
}
答案 1 :(得分:0)
我在这里回答了类似的问题:Unable to compare two Strings in javascript
我想你可能会遇到同样的问题。
尝试在成功回调中执行类似的操作,并查看响应文本的样子:
alert('"' + myhtml + '"');
我怀疑你的回复中有前导空格或尾随空格。如果在启动php之前或结束标记之后有空格,可能会发生这种情况。
答案 2 :(得分:0)
JSON响应格式可以避免使用纯文本这种恼人的问题。