Запросы не отправляются с помощью Dojo Json Rest Store с расширенной сеткой данных - PullRequest
1 голос
/ 23 января 2012

Я использую Dojo 1.7.1 dojo.store.JsonRest для заполнения EnhancedGrid данными.Однако, используя Firebug, я не вижу запросов, отправленных ни при запуске, ни после фильтрации.Таблица остается пустой.

Обзор: Расширенная сетка и хранилище JsonRest создаются декларативно.Хранилище настроено на использование службы REST только с функцией GET, которая возвращает массив Json с 1 элементом.Кнопка вызывает функцию фильтра Grids, чтобы проверить, отправляются ли запросы после запуска.

Служба возвращает статическую строку Json, как показано ниже:

[{id:'1',firstname:'John',lastname:'Doe'}] 

Исходный код находится здесь:

<html>
<head>
    <title>Rest Test</title>
    <style type="text/css">
        @import "js/dojo/resources/dojo.css";
        @import "js/dijit/themes/claro/claro.css";
        @import "js/dojox/grid/enhanced/resources/claro/EnhancedGrid.css";
        @import "js/dojox/grid/enhanced/resources/EnhancedGrid_rtl.css";
    </style>
    <script type="text/javascript" 
        src="js/dojo/dojo.js" 
        data-dojo-config="parseOnLoad:true"></script>
    <script type="text/javascript">
        dojo.require("dijit.form.Button");
        dojo.require("dijit.form.TextBox");
        dojo.require("dojox.grid.EnhancedGrid");
        dojo.require("dojox.grid.enhanced.plugins.DnD");
        dojo.require("dojox.grid.enhanced.plugins.NestedSorting");
        dojo.require("dojox.grid.enhanced.plugins.IndirectSelection");
        dojo.require("dojo.store.JsonRest");

        dojo.addOnLoad(function(){
            dojo.connect(dijit.byId("filterButton"),"onClick",function(){ 
                dijit.byId("nameTable").filter("*",true);
            });
        });
    </script>
</head>
<body class="claro">
    <button id="filterButton" 
        data-dojo-type="dijit.form.Button">
        Filter Table
    </button>
    <span   id="nameStore"
        data-dojo-type="dojo.store.JsonRest" 
        data-target="http://localhost:8080/MyApp/rest/service3"/>
    <table  id="nameTable"
        style="height:200px;"
        data-store="nameStore"
        data-dojo-type="dojox.grid.EnhancedGrid"
        data-dojo-props="plugins:{dnd: true, nestedSorting: true, indirectSelection: true}" >
        <thead>
            <tr>
                <th data-field="id" width="5%">ID</th>
                <th data-field="firstname" width="45%">Vorname</th>
                <th data-field="lastname" width="50%">Nachname</th>
            </tr>
        </thead>
    </table>
</body>
</html>

Я новичок в Restful Webservices, и я был бы признателен за помощь в решении этой проблемы.

1 Ответ

1 голос
/ 25 января 2012

Возможно, это не единственная ваша проблема, но я заметил, что вы используете более старую версию EnhancedGrid, но с более новой версией dojo.store.JsonRest без ObjectStore.Пожалуйста, обратитесь к этой странице для более подробной информации.Вот выдержка:

DataGrid 1.6 по-прежнему основан на API dojo.data, поэтому мы будем использовать адаптер dojo.data.ObjectStore для подключения нашего хранилища к DataGrid.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...