2016-04-29 2 views
1

Используя сетку и источник данных Kendo UI, я подключаюсь к REST API. Однако есть несколько проблем, о которых сообщают:Kendo UI Grid Datasource и REST API

Unknown DataSource transport type 'json'. Verify that registration scripts for this type are included after Kendo UI on the page.

kendo.all.js:6621 Uncaught TypeError: Cannot read property 'slice' of undefined

Я рассмотрел документацию Кендо UI сетки и Datasource и, насколько я могу судить, все правильно (но, очевидно, это не так сетка не заселять с любыми данными).

Вот код веб-страницы:

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <title>Kendo UI DataSource Proof of Concept</title> 
 
    <meta charset="utf-8"> 
 
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2016.1.412/styles/kendo.common.min.css" /> 
 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> 
 
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2016.1.412/styles/kendo.bootstrap.min.css" /> 
 
</head> 
 

 
<body style="margin:100px"> 
 
    <script src="https://code.jquery.com/jquery-2.2.3.min.js"></script> 
 
    <script src="http://cdn.kendostatic.com/2016.1.412/js/kendo.all.min.js"></script> 
 
    <div class="panel panel-default"> 
 
     <div class="panel-body"> 
 
      <div id="grid"></div> 
 
     </div> 
 
    </div> 
 

 
    <script> 
 
     $(document).ready(function() { 
 
      $('#grid').kendoGrid({ 
 
       dataSource: { 
 
        autoSync: true, 
 
        type: 'json', 
 
        transport: { 
 
         read: { 
 
          url: 'http://cors.io/?u=http://api.lifestylesdiscovery.com/api/evaluation/test/salecomps', 
 
          dataType: 'json', 
 
          type: 'GET' 
 
         } 
 
        }, 
 
        schema: { 
 
         data: 'rows' 
 
        } 
 
       }, 
 
       columns: [ 
 
        { field: 'Street' }, 
 
        { field: 'Subdivision' }, 
 
        { field: 'Beds' } 
 
       ] 
 
      }); 
 
     }) 
 
    </script> 
 

 
</body> 
 
</html>

+0

Совместим ли kendo с jQuery 2.x? – whipdancer

ответ

0

При запросе API REST он нуждается в небольшой настройке, попробуйте его, используя функцию для schema.data, чтобы проверить возвращаемый набор данных, а «данные» ожидает массив, поэтому ошибка о «сращивании» в ваш случай.

 dataSource: { 
      type: "json", 
      schema: { 
       data: function (e) { 
        return e.Results // inspect 'e' as to where your data resides 
       } 
      }, 
      serverFiltering: true, 
       transport: { 
        read: url, 
        parameterMap: function (options, type) { 
         var paramMap = kendo.data.transports.odata.parameterMap(options); 
         delete paramMap.$format; 
         return paramMap; 
        } 
       } 
      } 
1

использование JSONP для типа

type: 'jsonp', 

Для Невозможно прочитать свойство «кусок» неопределенных».

отладки в IE и закомментируйте строку, где она посылающей, или использовать правильную комбинацию js-файлы. Я использую http://kendo.cdn.telerik.com/2015.2.902/js/kendo.all.min.js

Смежные вопросы