AJAXとJQueryを使用してJSONデータでPUTコールを実装する方法は?
いろいろな方法を試してみましたが、コントローラの関数に実際のデータを渡すことができません。
以下はそのコードです。
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") 、2つのパラメータに TimesheetEntry
クラスのデフォルトパラメータ (0) が入力されています。
これは正しく渡せているのでしょうか?
13
3
dataType
属性は、サーバーからデータを取得するときにのみ使用されます'。サーバにデータを送信する際には、
contentTypeを
application/json` に設定しなければならない。ヘッダーは
{"X-HTTP-Method-Override": "PUT"}
で、リクエストタイプをPOST
にオーバーライドしてください。私のプロジェクトではうまくいきました...これは私の場合、うまくいきました