我正在尝试发布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)
哪个人没有任何好处!
有什么想法吗?
答案 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)
我的猜测,[..]
方括号不是输入元素名称的有效字符?
如果我错了,请纠正我。
更新:哎呀,好吧我错了。无论如何,这将留在这里作为'学习'信息。对于像我这样的人:)