How to get remote JSON to work with Kendo grid in ASP.NET
asp.net, json, kendo-ui
Solution
As cfeduke made similar suggestion you can try to add contentType to the read object of the transport read config just as you did in the $.ajax call.
e.g.
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "/./Services/Reports.svc/getZones",
dataType: "json",
contentType: "application/json",
data: { zoneParent: "123" },
type: "POST"
},
parameterMap: function (data, operation) {
return kendo.stringify(data);
}
},
Problem
I can successfully make the AJAX call to my service with the following code: ``` var serverData = { "ZoneParent": "123" }; var request = $.ajax({ type: "POST", url: "/./Services/Reports.svc/getZones", contentType: "application/json", dataType: "json", jsonp: null, jsonpCallback: null, data: JSON.stringify(serverData) }); request.done(function (msg) { alert(JSON.stringify(msg)); }); request.fail(function (jqXHR, textStatus) { alert("Request failed: " + textStatus); }); ``` However, when I try to implement the same call with my Kendo grid I get an error The incoming message has an unexpected message format 'Raw'. The expected message formats for the operation are 'Xml', 'Json' for getZones. My service call work fine with DataTables, but I want to switch to Kendo potentially. I have messed with this for days to no avail. The application is not MVC. Here is my Kendo code snippet: ``` var dataSource = new kendo.data.DataSource({ transport: { read: { url: "/./Services/Reports.svc/getZones", dataType: "JSON", data: { zoneParent: "123" }, type: "POST" }, parameterMap: function (data, operation) { return kendo.stringify(data); } }, schema: { data: "d" } }); var grid = $("#allGrids").kendoGrid({ dataSource: dataSource, height: 200 }); ```