I have a success function in my AJAX which returns the response text from a python script which can be either \"SUCCESS\" or \"EMPTY\". Now I want to place an if-loop insid
This means that what you're responding with isn't "SUCCESS"
. It probably has a line break or other whitespace before or after it, maybe more than one.
Perhaps:
if (/^\s*SUCCESS\s*$/.test(data)) {
// Success
}
Or use jQuery's $.trim
:
if ($.trim(data) === "SUCCESS") {
// Success
}
Also be sure that you're not replying with "Success"
or "success"
, as string comparisons are case-sensitive.
If you're not sure:
if (/^\s*SUCCESS\s*$/i.test(data)) {
// Success
}
or
if ($.trim(data).toUpperCase() === "SUCCESS") {
// Success
}
check if you don't have any additional spaces before/after "SUCCESS"
And also try to change
if(data === "SUCCESS"){
to
if(data == "SUCCESS"){
submitHandler: function (form) {
$.ajax({
type: 'post',
url: '/cgi-bin/getdataworld.py',
data: $(form).serialize(),
success: function(data1) {
//document.write(result);
console.log("result is "+data1);
alert(data1);
if(data1 == "SUCCESS"){
window.location = 'index.html';
}
else{
alert("NO DATA PRESENT");
}
},
error: function (responseData) {
console.log('Ajax rariequest not recieved!');
}
});
return false;
}
try this here two things i noticed one is === in if statement and other you are using data as variable some time its conflicts in some browser