【发布时间】:2012-10-14 22:35:39
【问题描述】:
我环顾四周并尝试了许多不同的方法,但似乎无法将实际数据传递给控制器的函数。
这里有一些代码:
var URL = "/Timesheet/Timesheet/UpdateEntry";
var dataObject = { 'newWeekEntry': newEntry, 'oldWeekEntry': oldEntry };
alert(JSON.stringify(dataObject));
$.ajax({
url: URL,
type: 'PUT',
data: JSON.stringify(dataObject),
dataType: 'json',
success: function(result) {
alert("success?");
}
});
newEntry 和 oldEntry 都是对象。
alert 行输出以下内容(删除了一些属性,为简洁起见):
{"newWeekEntry":{"MondayHours":2,"TuesdayHours":2,"WednesdayHours":5,"ThursdayHours":5,"FridayHours":"4","SaturdayHours":0,"SundayHours":0},"oldWeekEntry":{"MondayHours":2,"TuesdayHours":2,"WednesdayHours":5,"ThursdayHours":5,"FridayHours":2,"SaturdayHours":0,"SundayHours":0}}
当我调试我的控制器动作(“UpdateEntry”)时,这两个参数填充了TimesheetEntry类默认参数(0)。
我是否正确传递了这个?
【问题讨论】:
-
您能否详细说明您所说的“当我调试控制器操作 ("UpdateEntry") 时,这两个参数都填充了 TimesheetEntry 类默认参数 (0)。”?您在服务器上使用什么(即 Rails)以及如何将服务器上的 JSON 转换为 TimesheetEntry?
-
dataType属性仅在您从服务器获取数据时使用。向服务器发送数据时,您应该将contentType设置为application/json。 -
感谢 InPursuit!那解决了它。您想将此添加为答案,我可以接受吗?
-
当然,很高兴我能帮上忙!