Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
Php 将数组从表单传递到AJAX_Php_Ajax - Fatal编程技术网

Php 将数组从表单传递到AJAX

Php 将数组从表单传递到AJAX,php,ajax,Php,Ajax,我有这样的ajax代码,它将表单数据传递到createfinalinvoice.php 序列号和撬块是一些表单字段的一部分,它们是name=“serial_number[]”和name=“skid[]”(见下文) $(文档).ready(函数(){ $(“表单提交”).submit(函数(){ //我们希望存储表单输入框中的值,然后通过下面的ajax发送 var发票临时id=$(“#发票临时id”).attr('value'); var customer=$(“#customer”).attr(

我有这样的ajax代码,它将表单数据传递到createfinalinvoice.php

序列号和撬块是一些表单字段的一部分,它们是name=“serial_number[]”和name=“skid[]”(见下文)

$(文档).ready(函数(){
$(“表单提交”).submit(函数(){
//我们希望存储表单输入框中的值,然后通过下面的ajax发送
var发票临时id=$(“#发票临时id”).attr('value');
var customer=$(“#customer”).attr('value');
变量日期=$(“#日期”).attr('value');
var shipdate=$('#shipdate').attr('value');
var shipvia=$('#shipvia').attr('value');
var ponumber=$('#ponumber').attr('value');
var rep=$('#rep').attr('value');
var invoicenotes=$('#invoicenotes').attr('value');
var serial_number=$('#serial_number').attr('value');
var skid=$('#skid').attr('value');
var finalize_invoice=$('finalize_invoice').attr('value');
$.ajax({
类型:“POST”,
url:“includes/createfinalinvoice.php?”,
数据:“发票临时id=”+发票临时id+
“&customer=“+customer+
“&date=“+日期”+
“&shipdate=“+shipdate+
“&shipvia=“+shipvia+
“&ponumber=“+ponumber+
“&rep=“+rep+
“&invoicenotes=“+invoicenotes+
“&序列号=“+序列号”+
“&skid=“+skid+
“&finalize_invoice=“+finalize_invoice,
成功:功能(数据){
$('form#submit:input').not('input[type=“submit”]).val(“”);
$('div.success').fadeIn();
$('div.success').html(数据);
}
});
返回false;
});
});

因为我要传递多个相同名称,所以它将其放入数组中。我很难弄清楚如何让AJAX代码读取数组并传递它。到目前为止,代码只是以字符串而不是数组的形式传递第一个字符串。

尝试使用serialize!创造奇迹

$( document ).on( 'submit', "form#submit", function( ) {
 $.ajax({
            type: "POST",
            url: "includes/createfinalinvoice.php?",
            data: $( this ).serialize(),
            success: function(data){
                $('form#submit :input').not('input[type="submit"]').val("");
                $('div.success').fadeIn();
                $('div.success').html(data);
                }
            });
        });
        return false;

});

我在这里也使用jquery的
.on
,因为它比只绑定到元素更强大、更全面

您确实应该研究jQuery
serialize()
函数的使用。您还可以根据id属性获取序列号[]和滑橇[]的值。所有id都必须是唯一的。太棒了,这很容易:)
$( document ).on( 'submit', "form#submit", function( ) {
 $.ajax({
            type: "POST",
            url: "includes/createfinalinvoice.php?",
            data: $( this ).serialize(),
            success: function(data){
                $('form#submit :input').not('input[type="submit"]').val("");
                $('div.success').fadeIn();
                $('div.success').html(data);
                }
            });
        });
        return false;

});