我这样叫$ .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
也适用于其他方法!
答案 0 :(得分:0)
尝试使用 double 引号:
data: {"task": {"assigned_to": selected()}}
或者在外面定义您的数据并将其分配如下:
var dataMap = {"task": {"assigned_to": selected()}};
然后:
$.ajax({
type: 'PUT',
url: model.url(),
data: dataMap,
contentType: 'application/json'
})