Я был бы признателен за понимание проблемы, с которой я пытаюсь связать данные из удаленной службы (WebAPI) с сеткой Kendo с использованием источника данных Kendo. Когда я использую инструменты разработчика в Chrome, я вижу, что служба вызывается, и данные json возвращаются - проблема в том, что данные не отображаются в сетке.Bind Kendo Grid to Web API
Вот это HTML для очень простой страницы, содержащей только сетку:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<link href="css/kendo.common.min.css" rel="stylesheet" />
<link href="css/kendo.default.min.css" rel="stylesheet" />
<script src="lib/jquery.min.js"></script>
<script src="lib/kendo.web.min.js"></script>
</head>
<body>
<div id="reportGrid"></div>
<script>
$(document).ready(function()
{
// Report datasource
var reportsDataSource = new kendo.data.DataSource({
// Transport
transport: {
read: {
url: "http://localhost:54363/api/report",
dataType: "jsonp",
jsonpCallback: "reportCallback"
}
},
// Schema
schema: {
model: {
fields: {
SerialNumber: { type: "string" },
Version: { type: "number" },
DateReceived: { type: "date" },
Title: { type: "string" }
}
}
}
});
$("#reportGrid").kendoGrid(
{
dataSource: reportsDataSource
});
});
</script>
</body>
</html>
Когда страница загружает веб-сервис называется и JSON извлекаться (я использую JSONP с сайта и службы находятся в разных домены). Служба вызывается и извлекается следующий JSON (я получаю это, исследуя ответ в Chrome).
[{"SerialNumber":"1","Version":2,"DateReceived":"2013-08-01T16:01:12.5828003+01:00",...
Я действительно не понимаю, почему сетка не заселена.
Как выглядит обратное? Вы уверены, что он возвращается как объект JSON, а не как неузнаваемая строка. – AntSpiteri
Да, он возвращает правильно отформатированный json. Служба называется ожидаемым источником данных, она просто не заполняет сетку. – jongillster
Можете ли вы разместить JSON, который вы получаете? – AntSpiteri