Jquery通过$ .Ajax发布多维数组

时间:2010-01-09 02:02:21

标签: jquery ajax multidimensional-array

我正在尝试发布ajax调用,就像它是以下表单元素一样:

<input type="text" name="data[BlogPost][title]" />

但我这里没有运气是我的来源:

    $.ajax({
        url: "/add/",
        type: "POST",
        data: ( /* what do I do here */),
        success: function(msg){
            alert(msg);
        }
    });

我尝试过嵌套对象,但只生成服务器响应,如: 排列   'data'=&gt; string'[object Object]'(length = 15)

哪个人没有任何好处!

有什么想法吗?

3 个答案:

答案 0 :(得分:7)

只需将字段名称放在引号中,另请注意我使用数据参数{}的对象文字与您在问题中使用的parens:

$.ajax({
    url: "/add/",
    type: "POST",
    data: { 'data[BlogPost][title]':'My New Title'} ,
    success: function(msg){
        alert(msg);
    }
});

答案 1 :(得分:0)

您是否尝试过serialize()

$.ajax({
    url: "/add/",
    type: "POST",
    data: $('#myForm').serialize(),
    success: function(msg){
        alert(msg);
    }
});

我不是100%肯定它适用于多维数组,但它值得一试。

答案 2 :(得分:0)

我的猜测,[..]方括号不是输入元素名称的有效字符?

如果我错了,请纠正我。

更新:哎呀,好吧我错了。无论如何,这将留在这里作为'学习'信息。对于像我这样的人:)