Kendo UI Datasource で厄介なバグ (?) が発生しています。
カスタム関数を渡すとトランスポートの Update メソッドが呼び出されませんが、URL を指定するだけで機能します。
これは機能します:
...
transport: {
update: { url: "/My/Action" }
}
...
これはしません
...
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]);
}
});
}
}
...
関数は呼び出されていませんが、現在のページの URL に対して ajax リクエストが行われ、モデル データがポストされています。これはかなり奇妙です。私にはバグのように聞こえます。
これが必要な唯一の理由は、更新アクションが配列ではなく単一の要素のみを返すことを剣道が理解できないためです。つまり、剣道を満足させるためだけに API を曲げたくないので、私はそれを逆にします。
誰かがこれを経験したことがあり、私を正しい方向に向けることができますか?
schema.parse も使用してみましたが、Update メソッドが呼び出されたときに呼び出されませんでした。
myDs.sync()
データソースを同期するために使用します。