通过Ajax POST传递数组时没有数据

时间:2010-12-25 17:18:18

标签: jquery ajax arrays post

我正在尝试使用jQuery通过Ajax POST请求传递数组。我似乎无法完成它。这是我的代码:

var settings = [];
$('.settingp input').each(function(){
    settings[$(this).attr('id')] = $(this).val();
});
$.post("editSettings.php", { 'settings': settings });

请求发生,但其中没有数据。知道我做错了什么吗?

2 个答案:

答案 0 :(得分:3)

问题是

$(this).attr('id') => retuns a string, not a number

settings[$(this).attr('id')] = $(this).val();

将其更改为现在可以正常使用

settings[settings.length] = [$(this).attr('id'), $(this).val()];

感谢大家帮助我

答案 1 :(得分:2)

这个怎么样?

var settings = {};
$('.settingp input').each(function(){
    settings[$(this).attr('id')] = $(this).val();
});
$.post("editSettings.php", settings);

我认为问题在于我们的设置已初始化。然后在发布时,您不必将其称为“设置”,因为您已经设置了所有帖子值的名称。

相关问题