【发布时间】:2013-10-22 00:55:28
【问题描述】:
我这样调用 $.ajax :
$.ajax({
type: 'PUT',
url: model.url(),
data: {task: {assigned_to: selected()}},
contentType: 'application/json'
})
selected() 返回一个数组
它使用此有效负载task%5Bassigned_to%5D%5B%5D=524eda6b421aa91f4e000003&task%5Bassigned_to%5D%5B%5D=524ee37c421aa91ca9000008 发送请求,这是错误的!必须发送 json 但不是 json,我的 rails 服务器无法处理(Rails MultiJSON)。
我在 chrome 和 firefox 上进行了测试(都在最新的稳定版本上)。
非常感谢任何帮助。
编辑
如果我首先使用JSON.stringify 数据,它可以正常工作,但这根本不是一个好的解决方案,$.ajax 也可以在其他方法中使用!
【问题讨论】:
-
这个问题是同一个问题stackoverflow.com/q/1749272/1482780
-
如果我在 ajax 参数中设置
processData: false,问题将得到解决。顺便说一句,为什么 jquery 这样做?!为什么 ajax 中总是有一个非默认选项?我认为必须有更好的解决方案! -
可能想结帐:stackoverflow.com/questions/6410810/… 似乎对我有用 ;)
标签: javascript jquery ajax json