2014-01-24 2 views
0

Я пытаюсь отобразить данные из веб-службы, как определено в их документах. http://docs.kendoui.com/api/web/grid#configuration-dataSource : «ReferenceError: callback не определен». Следуя за моим html-файлом;Сетка Kendo не отображается с удаленными данными

<div id="grid"></div> 
<script> 
    var dataSource = new kendo.data.DataSource({ 
     transport: { 
      read: { 
       url: "http://127.0.0.1:8080/test/services/Rest/getP", 
       dataType: "jsonp", 
       jsonCallback: "jsonp" 
      } 
     }, 
     pageSize: 10 
    }); 
$("#grid").kendoGrid({ 
    dataSource: dataSource, 
    pageable: true 
}); 
</script> 

следующее возвращение WebService

callback([{"eventId":"123","eventName":"S2S"}]) 

Webservice разработан в Java. следующий код;

@GET 
@Path("/getP") 
@Produces("application/x-javascript") 
public String getInJSONP() { 
String str = "callback([{\"eventId\":\"123\",\"eventName\":\"S2S\"}])"; 
System.out.println(str); 
return str; 
} 

если я изменить URL в HTML файл в одном они приведены в примере http://demos.kendoui.com/service/products он работает нормально, но если я изменить его на мой URL службы веб дает ошибку. Если кто-нибудь может указать мне, как писать веб-сервис в соответствии с вводом сетки кендо, поскольку я думаю, что это ошибка данных.

ответ

0

Требуется ли ваша веб-страница для вызова веб-службы в другом домене, чем ваша веб-страница? если нет, то вы хотите использовать простой возврат json из своей веб-службы (см. пример моего fiddle for grid read). В этом примере используется служба «echo» из jsFiddle, которая просто возвращает json, который вы отправляете в сообщении. Эта служба эха требует Post, как показано ниже.

read: { 
     url:'/echo/json/', 
     type:'POST', 
     data: { 
      json: JSON.stringify(testdata) 
     }     
    } 

Ваш клиент Ajax вызов будет выглядеть как станд в Kendo's datasource documentation. Данные, возвращаемые вашей службой веб-сервиса, должны выглядеть примерно так: [{«Город»: «Редмонд», «FirstName»: «Anne», «Title»: «Software Developer», «LastName»: «Fuller »,« Возраст »: 48,« Дата рождения »:« 1966-03-27T05: 00: 00.000Z »,« Id »: 1}, {« Город »:« Нью-Йорк »,« Первое имя »:« Роберт », «Название»: «Главный технический сотрудник», «LastName»: «Davolio», «Age»: 54, «BirthDate»: «1960-05-29T04: 00: 00.000Z», «Id»: 2}]

BTW - отличный стандарт для проектирования простых веб-сервисов (особенно связанных с сущностью CRUD) - это REST pattern - где HTTP-почтовая служба используется для сущности Create, Put для обновления сущности, Delete для обновления сущности и Get для извлечения объекта.

+0

его различные домены. Я получаю ошибку при вызове jsonp-данных, созданных мной в java. webservices установлены на tomcat, созданный в java, в то время как html-файл развернут на сервере Wamp. один на порту 8100, а один на порту 8080. Веб-службы используют шаблон отдыха. Я попытался создать отдельный веб-сервис, который возвращает bean-компонент как json, но все равно не повезло. Я жестко закодировал результат, чтобы проверить, работает ли он, но все равно не повезло. –

+0

@ StrugglingUser вы нашли ответ? –

+0

нет все еще обнаружение. –

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