2013-12-23 3 views
0

У меня есть этот код, который получает объект json из статического URL , а затем отображает сетку. Но я хочу использовать данные json, полученные как ответ AJAX, а затем рендерить сетку, используя этот текст ответа. Поскольку для практического развертывания я не могу использовать статический URL.Как отредактировать сетку пользовательского интерфейса Kendo из данных ответа AJAX?

$("#grid").kendoGrid({ 
    dataSource: { 
     type: "json", 
     transport: { 
      read: {url: "http://url/returnsjsonobject.php"} 
      //THIS GETS DATA FROM STATIC URL BUT I WANT TO READ DATA AS AJAX RESPONSE 
      //like read: somefunctioncall 
      //or like read: somevariable 
     }, 
     schema: { 
      model: { 
       fields: { 
        id: {type: "string", editable: false}, 
        name: {type: "string"} 

       } 
      } 
     }, 
     pageSize: 20 
    }, 
    height: 430 
    columns: [ 
     {field: "id", title: "ID", width: "20px", hidden: "true"}, 
     "name", 
}); 

Заранее спасибо за помощь, и если у вас есть какие-либо альтернативный метод; Я буду рад попробовать.

ответ

4

Помните, что transport.read.url не должен быть постоянным, но может быть функцией:

transport: { 
    read: { 
     url: function(options) { 
      return "somefunctionalcall?id=" + options.id, 
     }, 
     dataType: "json" 
} 

или даже определить transport.read как функцию:

transport: { 
    read: function (options) { 
     $.ajax({ 
      dataType: "json", 
      url: "somefunctionalcall", 
      success: function (d) { 
       options.success(d); 
      } 
     }); 
    } 
} 
Смежные вопросы