我正在使用Kendo UI網格,該服務需要將POST請求更新爲JSON字符串而不是URL編碼形式。Kendo UI網格更新
我的網格數據源配置看起來像這樣:
dataSource: new kendo.data.DataSource({
transport: {
read: "/Service.svc/instructors",
update: {
url: "/Service.svc/instructors",
type: "POST",
contentType: "application/json; charset=utf-8",
data: function (data) {
return kendo.stringify(data);
}
}
},
//...
});
然而的請求主體最終看起來像這樣:
0=%7B&1=%22&2=I&3=d&4=%22&5=:&6=%20&7=1&8=,&9=%20&10=%22&11=F&12=o&13=o&14=%22&15=:&16=%20&17=%22&18=f&19=o&20=o&21=%22&22=,&23=%20&24=%22&25=B&26=a&27=r&28=%22&29=:&30=%20&31=%22&32=b&33=a&34=r&35=%22&36=%7D&Id=1&Foo=foo&Bar=bar
一種編碼JSON對象({"Id": 1, "Foo": "foo", "Bar": "bar"}
)(什麼編碼是, btw?)加上表格數據。
直接用jQuery做它工作得很好:
$.ajax({
type: "POST",
url: "/Service.svc/instructors",
data: kendo.stringify({Id: 1, Foo: "foo", Bar: "bar"}),
contentType:"application/json; charset=utf-8",
dataType: "json",
success: function(data) { console.log(data);}
});
按照documentation,我應該能夠設置更新的功能和調用,但顯然這hasn't work since 2012。
我該如何讓Kendo發佈正確的數據?
至於最後一句:_According的文檔,我應該是能夠將更新設置爲函數並調用該函數,但顯然這從2012年開始無法使用。[[已記錄]](http://www.telerik.com/forums/data-source-with-transport-read-函數與本地數組表現出不同於使用Web服務數據的行爲)對所有CRUD方法使用一致的定義,無論是URL還是方法,但不能混合使用。 – OnaBai
我已經嘗試實現讀取和更新以及用於創建和刪除的空函數,並且讀取在啓動時不會被調用。調用讀取,創建和刪除的默認函數是什麼? – user3557327
現在正在工作。請將其作爲回答標記爲已解決。我仍然想看看每個動作的默認功能是什麼。 – user3557327