Wzywam Zapisz za pomocą tego:Backbone model.save() wysyła PUT zamiast POST
console.log(this.model.isNew());
console.log(this.model);
this.model.save({}, {
success: function (model, response, options) {
console.log(response);
},
error: function (model, xhr, options) {
console.log(xhr.result.Errors);
}
});
W isNew()
zwraca false. Ale wyjście this.model
ma identyfikator 0. (this.model.id jest 0, jak również)
mój adres URL jest url: ROOTAREA + "/Expenses/Entry/",
Aktualizacja działa poprawnie, oraz zastosowania PUT, jak oczekiwano.
Edycja: tutaj jest częścią mojego modelu
defaults: function() {
return {
DocumentDate: "",
JobNo_: "",
PhaseCode: "",
WorkTypeCode: "",
Description: "",
Quantity: 0,
UnitCost: 0,
ExpenseCurrencyCode: "",
ReimbursementCurrencyCode: "",
UnitofMeasureCode: "DIEM",
LineNo_: 0
};
},
idAttribute: "LineNo_",
Mam zmienił się mój post pokazujący model. Czy powinienem zmienić LineNo_ na coś innego niż 0? – Rail24
@ Rail24 Usuń go całkowicie, jeśli możesz. Backbone sprawdza, czy id ma wartość NULL, aby określić, czy jest nowy. Zobacz http://documentcloud.github.com/backbone/docs/backbone.html#section-63 – nikoshr
Zmieniłem LineNo_ na domyślną wartość null i rozwiązało to mój problem! Dziękuję toninoj! – Rail24