jquery:如果语句在ajax成功函数内不起作用

前端之家收集整理的这篇文章主要介绍了jquery:如果语句在ajax成功函数内不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在我的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;
            }
最佳答案
这意味着你所回应的不是“成功”.它可能在它之前或之后有一个换行符或其他空格,可能不止一个.

也许:

if (/^\s*SUCCESS\s*$/.test(data)) {
    // Success
}

或者使用jQuery的$.trim:

if ($.trim(data) === "SUCCESS") {
    // Success
}

另外请确保您没有回复“成功”或“成功”,因为字符串比较区分大小写.

如果您不确定:

if (/^\s*SUCCESS\s*$/i.test(data)) {
    // Success
}

要么

if ($.trim(data).toUpperCase() === "SUCCESS") {
    // Success
}

猜你在找的jQuery相关文章