【问题标题】:JQuery Validation not posting data to backendJQuery Validation没有将数据发布到后端
【发布时间】:2017-10-11 18:33:49
【问题描述】:

我正在尝试解决一些奇怪的事情。我有一个简单的 submitHandle 将一位数据传递给我的 PHP 文件

submitHandler: function (form) {
    $.ajax({
        type: "POST",
        url: "form-process.php",
        data: {
            'customer':  $("input[name='customer']:checked").val()
        }
    }).done(function (response) {
        console.log(response)
    }).fail(function (jqXHR, textStatus) {
        console.log(textStatus)
    });
    return false;
}

如果我输出 $("input[name='customer']:checked").val() 我得到的是或否的预期值。现在在我的 PHP 文件中,我只是在做

echo json_encode($_POST["customer"]);

这似乎产生了错误

未定义索引:客户

如果我只检查$_POST,它会返回一个空数组。

我在这里遗漏了什么吗?这些数据没有进入后端是否有原因?

【问题讨论】:

  • 检查 devtools 中的 network 选项卡,查看 post 数据是否与请求一起发送。
  • 你能告诉我们使用的 Jquery 版本吗??
  • 当然,jQuery v2.1.4 和 jQuery 验证插件 - v1.17.0
  • 所以这个 ajax 请求对于你的语法来说已经过时了 api.jquery.com/jquery.ajax 1.4
  • 如果我是你,在检查 PHP 文件中 $_POST 数组的值之前,我会在 Web 浏览器的 JavaScript 开发人员控制台中测试 $("input[name='customer']:checked").val() 的值。 IE。 console.log($("input[name='customer']:checked").val()) 。在将其发送到 PHP 文件之前,请确保您在 JS 中获得了正确的值。您的 Ajax 帖子语法看起来不错。

标签: javascript php jquery jquery-validate


【解决方案1】:

试试这个方法:

$.ajax({
  method: "POST",
  url: "form-process.php",
  data: { customer: $("input[name='customer']:checked").val() }
}).done(function(response) {
console.log( "Data Saved: " + response);
}).error(function(error){
   console.log(error)
});

【讨论】:

  • 我实际上刚刚发现了问题所在。我在本地使用 XAMPP 运行它,这里一定有问题。我一上网,就得到了数据。不知道为什么在本地运行它会导致这个问题,需要调查一下
  • 本地取决于您的内部网络代理 vpn 或防火墙路由器如果您调用一些外部链接可能会出现问题。但不确定您是否需要分析您的日志 php、apaches 以找出原因。
【解决方案2】:

你应该使用$("input[name='customer']:checked") ? true : false,因为如果输入没有被检查$("input[name='customer']:checked")会返回null然后你会得到null.val()这是不正确的

data: {
        customer:  $("input[name='customer']:checked") ? true : false
    }

【讨论】:

  • 怎么样,var customerVal = $("input[name='customer']:checked") ? true : false; 然后:data: {'customer': customerVal}。我认为这里的布尔值更好。
  • 我根据问题认为是和否......但是是的布尔值绝对会更好,更新了答案
猜你喜欢
  • 2012-05-31
  • 2015-07-30
  • 1970-01-01
  • 2013-01-08
  • 2012-12-06
  • 2018-11-22
  • 2021-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多