【问题标题】:No data, when passing array trough an Ajax POST通过 Ajax POST 传递数组时没有数据
【发布时间】:2011-05-30 16:17:53
【问题描述】:

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

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

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

【问题讨论】:

标签: jquery ajax arrays post


【解决方案1】:

问题是

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

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

改成现在可以用了

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

感谢大家帮助我

【讨论】:

    【解决方案2】:

    这个呢?

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-18
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      相关资源
      最近更新 更多