使用计数器动态生成的文本框很少,所以它看起来像这样
form.append('Street: <input type="text" id="street'+counter+'" /> city: <input type="text" id="city'+counter+'" /><br/>');
counter++;
然后我这样做一个数组
var array = [];
for(i=1; i<counter; i++){
array.push({'a':$('#street' + i).val(),'b':$('#city' + i).val()});
}
console.log(array);
$.ajax({
type: "POST",
url: "dummy.php",
data: array,
success: function(response, textStatus, xhr) {
},
error: function(xhr, textStatus, errorThrown) {
}
});
但问题是当我试图通过ajax im获取发送数组到PHP脚本 参数 undefined undefined undefined undefined
在萤火虫的后期部分
我在这里做错了什么?
firebug控制台与console.log(数组)
类似此致
好像我找到了解决方案 我发送的数据如 data:{地址:数组}, 它的工作原理
答案 0 :(得分:2)
您可以像这样发送表单(不要作为数组发送):
$.ajax({
...
data: form.serialize()
...
});
并将其转换为服务器代码中的数组。
或者,或者,你可以用自动成为服务器上两个数组的方式命名输入:
form.append('Street: <input type="text" name="street[]" /> city: <input type="text" name="city[]" /><br/>');
$.ajax({
...
data: form.serialize()
...
});
您的PHP脚本会将$_POST['street']
和$_POST['city']
作为数组接收。
希望这可以帮助。干杯