当前位置: 首页 > 面试题库 >

jQuery:if语句在ajax成功函数中不起作用

公羊光明
2023-03-14
问题内容

我的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"。它前后可能有换行符或其他空格,可能不止一个。

也许:

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

或使用jQuery的$.trim

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

另外,请确保您未使用"Success"或答复"success",因为字符串比较区分大小写。

如果您不确定:

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

要么

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


 类似资料:
  • 问题内容: 我使用React和jQuery。这是我的代码的一部分。 在安装组件之前,我执行ajax请求以了解用户是否已登录。 当响应返回状态码200 时,应该设置状态。我使用的是错误的吗? 编辑01 当我在回调中。 在下面。 解决方案 我上面的代码是反模式。 请遵循答案我建议的一种方法。另外,React文档已经为我的案例提供了非常有用的解决方案:通过AJAX加载初始数据 同样,setState是异

  • 问题内容: 我有一份注册表,正在使用它提交。 这是我的AJAX请求: 在我的 Submit1.php 文件中,我检查数据库中是否存在 电子邮件地址 和 用户 名字 段。如果这些值存在 而没有页面刷新, 则希望显示一条错误消息。 如何将其添加到我的AJAX请求的 成功 回调中? 问题答案: 结果可能不是JSON格式,因此当jQuery尝试如此解析时,它将失败。您可以使用回调函数捕获错误。 无论如何,

  • 在react组件挂载之前,我执行ajax请求以了解用户是否登录。 它应该在响应返回状态代码200时设置状态。 我是否错误地使用了? 编辑01

  • 问题内容: 我的html像这样 jQuery代码如下 当我单击Submit按钮时,我的ajax请求无法正常工作,看起来好像控件正在传递给JQuery Submit函数,但是ajax请求没有正确执行/正常工作,这是怎么回事? 问题答案: 将事件处理函数放入$(document).ready(function(){…})中。它现在应该工作 还添加preventDefault()以限制页面刷新

  • 问题内容: 我是一个新手,Python和目前正在学习像控制流的命令,等 该语句工作正常,但是当我编写或命令时,解释器给我一个语法错误。我使用的是Python 3.2.1,问题出在其本机解释器和IDLE中。 我遵循的是 《 Python的字节》一 书中给出的内容。如您所见,并且给出了 Invalid Syntax 。 为什么会这样呢?我在IDLE和交互式python中都遇到了问题。我希望语法正确。

  • 问题内容: 我想知道为什么$(this)在jQuery ajax调用后不起作用。 我的代码是这样的。 为什么在ajax调用之后,$(this)在这种情况下不起作用?如果我在ajax之前使用它会起作用,但之后没有效果。 问题答案: 在jQuery ajax回调中,“ this”是对ajax请求中使用的选项的引用。它不是对DOM元素的引用。 您需要首先捕获“外部” $(this) :