I've looked around and tried many different methods, but can't seem to pass actual data to my controller's function.
Here is some code:
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 and oldEntry are both objects.
The alert line outputs this (with some properties removed, just for brevity):
{"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}}
When I debug my controller action ("UpdateEntry"), the two parameters are filled with the TimesheetEntry class default parameters (0).
Am I passing this in properly?
dataTypeattribute is only used when you're getting data from the server. You should be settingcontentTypetoapplication/jsonwhen sending data to the server.