我正在尝试使用jQuery通过Ajax POST请求传递数组。我似乎无法完成它。这是我的代码:
var settings = [];
$('.settingp input').each(function(){
settings[$(this).attr('id')] = $(this).val();
});
$.post("editSettings.php", { 'settings': settings });
请求发生,但其中没有数据。知道我做错了什么吗?
答案 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);
我认为问题在于我们的设置已初始化。然后在发布时,您不必将其称为“设置”,因为您已经设置了所有帖子值的名称。