How to implement a PUT call with JSON data using AJAX and JQuery?
ajax, jquery, json, put
Solution
The `dataType` attribute is only used when you're getting data from the server. You should be setting `contentType` to `application/json` when sending data to the server.
Problem
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?