jQuery ajax从来没有遇到任何问题,但我仍然坚持这个非常奇怪的问题。这是我的ajax片段:
def do_order(self):
window = FinalWindow(self)
php回声" 1"或" 2"它在控制台中成功完成。但即使当php脚本回声" 1"时,警告说" ONE"没有出现,我完全迷失了!
答案 0 :(得分:4)
当从AJAX调用返回明文响应时,您需要注意在检查返回值时排除任何空格。为此,请使用trim()
:
$.ajax({
type: 'POST',
url: 'xxx',
success: function(response) {
if (response.trim() == "1") { // note trim() here
console.log("ONE");
}
},
error: function(xhr, status, error) {
console.log(xhr.responseText);
}
});
由于这个原因,使用序列化格式进行响应是一个更好的主意。请尝试查看JSON或XML。
另请注意,使用console.log()
进行调试优先于alert()
,因为它不会强制数据类型。