Ich habe einen ziemlich nervigen Bug (?) In Kendo UI Datenquelle.Kendo Datenquelle Transport benutzerdefinierte Funktion nicht aufgerufen
Meine Update-Methode auf meinem Transport wird nicht aufgerufen, wenn ich eine benutzerdefinierte Funktion übergeben, aber es funktioniert, wenn ich nur die URL geben.
Dies funktioniert:
...
transport: {
update: { url: "/My/Action" }
}
...
Dies gilt nicht
...
transport: {
update: function(options) {
var params = JSON.stringify({
pageId: pageId,
pageItem: options.data
});
alert("Update");
$.ajax({
url: "/My/Action",
data:params,
success:function(result) {
options.success($.isArray(result) ? result : [result]);
}
});
}
}
...
Die Funktion aufgerufen wird, nicht immer, aber eine Ajax-Anforderung wird auf die aktuelle Seite URL gemacht, und die Modelldaten geschrieben wird Das ist ziemlich seltsam. Klingt für mich wie ein Käfer.
Der einzige Grund, den ich dafür brauche, ist, weil Kendo nicht herausfinden kann, dass meine Aktualisierungsaktion nur ein einzelnes Element und kein Array zurückgibt - also, da ich meine API nicht nur beugen will, um zu befriedigen Kendo, ich würde es anders herum machen.
Hat jemand dies erfahren, und kann mir in die richtige Richtung zeigen?
Ich habe auch versucht, die schema.parse, aber das wurde nicht aufgerufen, wenn die Update-Methode aufgerufen wurde.
Ich verwende myDs.sync()
, um meine Datenquelle zu synchronisieren.
ich gleiche Problem haben, nicht sicher, ob es festgelegt ist ... – SamJackSon