Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery验证未将数据发布到后端_Javascript_Php_Jquery_Jquery Validate - Fatal编程技术网

Javascript JQuery验证未将数据发布到后端

Javascript JQuery验证未将数据发布到后端,javascript,php,jquery,jquery-validate,Javascript,Php,Jquery,Jquery Validate,我有一些奇怪的事情,我正在努力解决。我有一个简单的submitHandle,它将一位数据传递给我的PHP文件 submitHandler: function (form) { $.ajax({ type: "POST", url: "form-process.php", data: { 'customer': $("input[name='customer']:checked").val() }

我有一些奇怪的事情,我正在努力解决。我有一个简单的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"]);
这似乎产生了错误

未定义索引:客户

如果我只是选中
$\u POST
,它将返回一个空数组

我是不是遗漏了什么?是否有原因导致此数据无法发送到后端?

您应该使用
$(“输入[name='customer']:选中”)?true:false
因为如果未选中输入
$(“input[name='customer']:checked”)
将返回
null
,然后您将得到不正确的
null.val()

data: {
        customer:  $("input[name='customer']:checked") ? true : false
    }
尝试以下方法:

$.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)
});

检查devtools中的网络选项卡,查看post数据是否与请求一起发送。您能告诉我们使用了哪个版本的Jquery吗?当然,Jquery v2.1.4和Jquery验证插件-v1.17.0。因此,在检查PHP文件中的
$\u post
数组的值之前,如果我是您,这个ajax请求对于语法1.4来说太旧了,我将在web浏览器的JavaScript开发人员控制台中测试
$(“input[name='customer']:checked”).val()的值。例如,
console.log($($input[name='customer']:checked”).val())
。在将JS中的值发送到PHP文件之前,请确保返回的值正确。你的Ajax post语法看起来不错。我实际上刚刚发现了问题所在。我用XAMPP在本地运行这个程序,这里一定出了什么问题。我一上网就得到了数据。虽然不确定为什么在本地运行它会导致这个问题,但如果您调用一些外部链接,则需要查看它是否在本地取决于您的内部网络代理vpn或防火墙路由器。但不确定您是否需要分析日志php、apaches来找到原因。那么,
var customerVal=$(“input[name='customer']:checked”)如何?真:假然后:
数据:{'customer':customerVal}
。我认为在这里用bool更好。我根据这个问题考虑了是和否。。。但答案是肯定的,布尔值绝对会更好