我想通过ajax发布两个数组。其中一个是多方面的。
这是我的代码:
var values = $('.formularioempresa').serialize();
contactos = $('#agregarcontactos').data('contactos')[0];
$.ajax({
url: "forms/procesar_forms.php",
type: "post",
data: values+contactos,
success: function(result){
if (result == '1')
$('#error').show(500).delay(3000).hide('slow');
else {
$('#confirmacion').show(500).delay(3000).hide('slow');
}
},
error:function(){
alert("failure");
}
});
值只是一个输入数组,而contactos是一个多维的,来自这段代码(不完全是):
<form class="formulariocontacto">
<input type="text" id="nombre" name="nombre[]" class="required form-control" />
<input type="text" id="apellido" name="apellido[]" class="required form-control" />
<input type="text" id="apellido2" name="apellido2[]" class="required form-control" />
<input type="text" id="telefonoc" name="telefonoc[]" class="required form-control" />
<input type="text" id="emailc" name="emailc[]" class="required form-control" />
<input type="text" id="cargo" name="cargo[]" class="required form-control" />
</form>
和jQuery for this
var values = $('form#formulariocontacto :input').serialize();
$('#agregarcontactos').data('contactos',[]);
$('#agregarcontactos').data('contactos').push(values);
我获得了2个数组但我不知道如何将它组合起来通过ajax发布它。
感谢您的帮助,抱歉我的英语不好:/
答案 0 :(得分:2)
您需要将数组嵌套在对象中:
data: {'values' : values, 'contactos' : contactos}
当然这意味着这两者实际上应该是数组。我建议使用serializeArray
代替serialize
,然后您将拥有可以像上面一样干净地嵌套的数组。
var values = $('.formularioempresa').serializeArray();
答案 1 :(得分:0)
将它们放在一个数组中,并使用join
和&
组合它们
data: [values,contactos].join('&'),