我在我的AJAX中有一个成功函数,它从python脚本返回响应文本,该脚本可以是"SUCCESS"或"EMPTY".现在我想在成功函数中放置一个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;
}
Run Code Online (Sandbox Code Playgroud)
T.J*_*der 12
这意味着你所回应的不是"SUCCESS".它可能在它之前或之后有一个换行符或其他空格,可能不止一个.
也许:
if (/^\s*SUCCESS\s*$/.test(data)) {
// Success
}
Run Code Online (Sandbox Code Playgroud)
或者使用jQuery $.trim:
if ($.trim(data) === "SUCCESS") {
// Success
}
Run Code Online (Sandbox Code Playgroud)
另外请确保您没有回复"Success"或"success",因为字符串比较区分大小写.
如果您不确定:
if (/^\s*SUCCESS\s*$/i.test(data)) {
// Success
}
Run Code Online (Sandbox Code Playgroud)
要么
if ($.trim(data).toUpperCase() === "SUCCESS") {
// Success
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15554 次 |
| 最近记录: |