Gewusst wie: implementieren eine PUT call mit JSON-Daten mit AJAX und JQuery?
Hab ich sah sich um und versuchte viele unterschiedliche Methoden, aber kann nicht scheinen, um pass eigentlichen Daten auf mein controller-s-Funktion.
Hier einige 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
und oldEntry
sind beide Objekte.
Den alert
line-Ausgänge diese (mit einigen Eigenschaften entfernt sind, nur aus Platzgründen):
{"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}}
Wenn ich debug meine controller-action ("UpdateEntry"), die zwei Parameter sind gefüllt mit den TimesheetEntry
Klasse default-Parameter (0).
Bin ich der Weitergabe dieser richtig?
- Können Sie das bitte näher erläutern, was du meinst, wenn du sagst "Wenn ich den debug-meine controller-action ("UpdateEntry"), die zwei Parameter sind gefüllt mit den TimesheetEntry Klasse default-Parameter (0)."? Was verwenden Sie auf dem server (also Schienen) und wie werden Sie konvertieren von JSON auf dem server zu TimesheetEntry?
- Die
dataType
- Attribut wird nur verwendet, wenn Sie Daten vom server. Sie sollten die EinstellungcontentType
zuapplication/json
beim senden von Daten an den server. - Danke InPursuit! Dass es behoben. Möchten Sie diese als Antwort und ich kann es akzeptieren?
- sicher, froh, dass ich helfen konnte!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
dataType
- Attribut wird nur verwendet, wenn Sie Daten vom server. Sie sollten die EinstellungcontentType
zuapplication/json
beim senden von Daten an den server.Verwenden Header:
{"X-HTTP-Method-Override": "PUT"}
ab und setzen diePOST
Typ der Anfrage. Es funktioniert auf meinem Projekt...Dieser arbeitete für mich