我的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; }
这意味着您要回应的不是"SUCCESS"。它前后可能有换行符或其他空格,可能不止一个。
"SUCCESS"
也许:
if (/^\s*SUCCESS\s*$/.test(data)) { // Success }
或使用jQuery的$.trim:
$.trim
if ($.trim(data) === "SUCCESS") { // Success }
另外,请确保您未使用"Success"或答复"success",因为字符串比较区分大小写。
"Success"
"success"
如果您不确定:
if (/^\s*SUCCESS\s*$/i.test(data)) { // Success }
要么
if ($.trim(data).toUpperCase() === "SUCCESS") { // Success }