ajax页面中的$ _POST显示错误

时间:2015-01-18 16:37:51

标签: php mysql ajax

我正在使用ajax请求来更改密码 这是我的代码

$.ajax({
            url: 'change-password.php',
            type: 'POST',
            data : $("#frm-change-password").serialize(),
            contentType: false,
            processData: false,
            beforeSend: function() {
                $("#btn-change-pasword").attr('disabled','disabled')
                $("#change-password-msg").html('<img src="images/loading.gif" width="30"><span>Updating Password</span>');
            },
            success: function (data) {
                $("#change-password-msg").html(data);
                $("#btn-change-pasword").removeAttr('disabled');
                setTimeout(function(){ $('.success').remove(); }, 7000);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
            }
        });

我的问题是我无法在&#39; change-password.php&#39;中获取表单数据。页

我得到这样的&#34;注意:未定义的索引:bsns-id in ...&#34;

我使用GET而不是POST,这一切都很完美。

1 个答案:

答案 0 :(得分:1)

查看您的PHP代码。并查看您是通过$_GET[]还是$_POST[]数组访问数据。如果使用GET方法发送数据(来自AJAX),那么所有值都将在$_GET[]关联数组中。或者,如果您使用POST方法,则数据将位于$_POST[]数组中。

修改

我认为数据没有发送到服务器。让我们尝试从客户端调试。您知道如何使用Google Chrome的开发者工具吗?在Chrome浏览器中打开页面,然后在开始提交ajax之前,打开开发人员工具(Ctrl + Shift + I)。然后单击Network选项卡。现在启动AJAX提交。然后检查正在发送的数据的详细信息。检查是否有任何数据正在提交并验证。

您还可以查看Console窗口,看看是否显示任何错误。如果出现一些错误,那么可能会阻止其余的javascript执行。所以,请关注控制台窗口。

enter image description here

编辑2

现在用完了解决方案。您可能需要向我们展示更多代码或提供实时页面的任何链接(如果您上传到某处),以便我们可以检查更多。无论如何,我的最后一个建议是,你是在你正在该表单上应用的jquery验证的submitHandler函数中进行这个ajax调用吗?因为as per the documentation of the jquery validation plugin,您可以在其中进行手动表单提交(即您的案例中的ajax调用)。

示例:

enter image description here