如果ajax中的条件对serialize()不起作用

if condition in ajax not working for serialize()

本文关键字:serialize 不起作用 条件 ajax 如果      更新时间:2023-09-26

我正在建设一个网站。我有一些问题,使AJAX请求,我没有太多的知识。我试图通过AJAX发布数据,我的代码看起来像这样:

$('.submitsearchbtn').on('click', function () {
    $.ajax({
        url: '',
        type: 'post',
        data: $("#a").serialize(),
        success: function (data) {
            if (data == 1) {
                $('body').load('findpals.php');
                window.setTimeout(function () {
                    $('#errors_three').css("display", "block");
                    $("#errors_three").fadeTo(10000, 0).slideUp(50, 0);
                }, 1000);
            }
            if (data == 2) {
                console.log(data);
            }
        }
    });
});

#a是我的form的id,我使用的是serialize(),它持有我的表单input name=''值,它发布到同一页面,因为我留下了表单url属性空白。

现在我的问题是,一切都工作得很好,我的PHP方面正在捕捉$_POST['.....']上的帖子数据,它确实返回值1如果错误和2如果成功。然而,当我使用if条件并检查我的data = 1(错误)或2(成功)时,没有任何事情发生。

我的PHP返回2为成功,但如果条件不允许我进入代码块。当我删除if条件并在success处理程序中单独设置console.log(data)时,然后在检查元素控制台侧我看到'2'。那么,为什么if条件不起作用呢?我做错什么了吗?

尝试使用RegExp.prototype.test()测试1, 2data中的出现

if (/1/.test(data)), if (/2/.test(data))

尝试$.trim(data)。有时响应中有一些空格,这可能会导致这种行为