我的 AJAX 中有一个成功函数,它从 python 脚本返回响应文本,可以是“SUCCESS”或“EMPTY”。
现在我想在 success 函数中放置一个 if 循环,但 if 循环不起作用。我从 python 脚本中获取了正确的数据,因为我的警报语句工作正常并打印“SUCCESS”。但不进入ifloop
我已经尝试了很多方法,但控件没有进入 if 循环,有人可以告诉我我做错了什么:
submitHandler: function (form) {
$.ajax({
type: 'post',
url: '/cgi-bin/getdataworld.py',
data: $(form).serialize(),
success: function(data) {
//document.write(result);
console.log("result is "+data);
alert(data);
if(data === "SUCCESS"){
window.location = 'index.html';
}
else{
alert("NO DATA PRESENT");
}
},
error: function (responseData) {
console.log('Ajax request not recieved!');
}
});
return false;
}
这意味着您的回应不是"SUCCESS"
。它之前或之后可能有一个换行符或其他空格,也许不止一个。
Perhaps:
if (/^\s*SUCCESS\s*$/.test(data)) {
// Success
}
或者使用 jQuery 的$.trim
:
if ($.trim(data) === "SUCCESS") {
// Success
}
另请确保您的回复不是"Success"
or "success"
,因为字符串比较区分大小写。
如果您不确定:
if (/^\s*SUCCESS\s*$/i.test(data)) {
// Success
}
or
if ($.trim(data).toUpperCase() === "SUCCESS") {
// Success
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)