Php 通过AJAX提交表单数组
我有一个表单,我想通过Ajax提交,但是,它的一部分包含一个数组。我很难通过Ajax传递这个数组。下面是我的Ajax的一个例子,我通常会通过在data one:$'one'.val之后如何在下面传递表单条目数据,其中每个字段有一行 现在我有了一组新的字段,其中的信息需要作为数组传递。我尝试过使用serialize和formData-var fd=new-FormDataform-到目前为止,要么只传递了这个数组,要么没有传递表单中的任何内容,要么只是没有传递数组 谁能给我指一下正确的方向吗Php 通过AJAX提交表单数组,php,jquery,arrays,ajax,post,Php,Jquery,Arrays,Ajax,Post,我有一个表单,我想通过Ajax提交,但是,它的一部分包含一个数组。我很难通过Ajax传递这个数组。下面是我的Ajax的一个例子,我通常会通过在data one:$'one'.val之后如何在下面传递表单条目数据,其中每个字段有一行 现在我有了一组新的字段,其中的信息需要作为数组传递。我尝试过使用serialize和formData-var fd=new-FormDataform-到目前为止,要么只传递了这个数组,要么没有传递表单中的任何内容,要么只是没有传递数组 谁能给我指一下正确的方向吗 $(
$("#form").submit(
function() {
if (confirm('Are you sure you want to edit this?')) {
$("#formMessages").removeClass().addClass('alert alert-info').html(
'<img src="images/loading.gif" /> Validating....').fadeIn(500);
$.ajax({
url: $("#form").attr('action'),
dataType: 'json',
type: 'POST',
data: {
one: $('#one').val(),
two: $('#two').val()
},
success: function(data){
//success stuff would be here
}
});
}
return false;
});
谢谢。你试过这个吗:
用JavaScript编写:
your_array = JSON.stringify(your_array);
在PHP中:
$array = json_encode($_POST['array']);
您可以尝试使用:
var dataSend = {};
dataSend['one'] = $('#one').val();
dataSend['two'] = $('#two').val();
dataSend['three'] = $('#three').val();
然后在ajax中
data: {dataSend:dataSend}
您可以使用json在php中收集数据:
$json = json_encode($_POST['dataSend']);
$json = json_decode($json);
print_r($json);
查看输出
编辑:
您可以使用php收集数据,如下所示:
$one = $json->{'one'};
$two = $json->{'two'};
尝试删除datatype=json并在隐藏元素中传递数组一次,然后提交您应该获得数组值的表单——一旦检查并告知我们,当您使用FormData时,您需要设置contentType:false和processData:false!!您是否已经这样做了?可能重复:我是否需要将我想要发送的所有内容都放入dataSend数组?@user1842842是的,您可以将所有数据放入数组dataSend中,并用php详细说明数据。看看编辑。