dojox.data.QueryReadStore。如何更改包含数据的数组的索引?

dojox.data.QueryReadStore。如何更改包含数据的数组的索引?,dojo,Dojo,我从服务器获取数据: store = new dojox.data.QueryReadStore({"url":"http://url_with_data"}); ... myGrid = new dojox.grid.DataGrid({"id":"myGrid2","selectionMode":"none","style":"height: 350px; width: 100%;","store":store,"structure":myGrid2Layout}), document.cr

我从服务器获取数据:

store = new dojox.data.QueryReadStore({"url":"http://url_with_data"});
...
myGrid = new dojox.grid.DataGrid({"id":"myGrid2","selectionMode":"none","style":"height: 350px; width: 100%;","store":store,"structure":myGrid2Layout}), document.createElement('div');
在本例中,服务器必须返回json对象,其中存在属性“items”,该属性包含所有数据。示例(php):

问题是我的服务器返回的json结构略有不同,比如:

$a = array(
    'result' => array(
         'items' => array(....)
    );
);
echo json_encode($a);

如何解决此问题?

您可以扩展QueryReadStore并重写_filterResponse函数来处理从服务器返回的数据

dojo.declare("myQrs", [dojox.data.QueryReadStore], {
    _filterResponse: function(data) {
       //process/massage your data here
       return data
    }
});

请参阅:并搜索_filterResponse有关此

的一些说明,您可以扩展QueryReadStore并重写_filterResponse函数来处理从服务器返回的数据

dojo.declare("myQrs", [dojox.data.QueryReadStore], {
    _filterResponse: function(data) {
       //process/massage your data here
       return data
    }
});
请参阅:并搜索_filterResponse以获取有关此问题的一些注释