为了需要一个简单的演示器,我在 ExtJS 中创建了一个简单的网格面板,现在我试图用来自 MongoDB 的数据填充它。我听说过 Node.JS 和其他东西,但我只想使用 MongoDB 的 REST API 来检索数据。注意:我是 ExtJS 和 REST 请求的新手。
我的问题是,在加载我的页面时,没有创建面板并且萤火虫告诉我:“”NetworkError:400 Bad Request - http://xxx.xxx.xx.xx:28017/mydb/device/find?_dc=1374225874880&page =1&开始=0&限制=25 ""
如果我复制并粘贴 URL http://xxx.xxx.xx.xx:28017/mydb/device/find?_dc=1374225874880&page=1&start=0&limit=25 我可以看到数据,这意味着 Mongo 数据是可通过 URL 访问。请注意,我不知道 URL 的“page=1&start=0&limit=25”参数来自哪里,它不是由我实现的。
我应该加载数据的代码位于我的 MVC 的 Store 组件中:
Ext.define('AM.store.Users', {
extend: 'Ext.data.Store',
model: 'AM.model.User',
autoLoad: true,
proxy: {
type: 'rest',
url: 'http://xxx.xxx.xx.xx:28017/mydb/device/find',
reader: {
type: 'json',
root: 'rows',
idProperty: '_id'
}
}
});
这就是显示 Mongo URL 的内容:
{
"offset" : 0,
"rows": [
{ "_id" : "SheevaPlug", "manufacturer" : "GlobalScale" }
],
"total_rows" : 1 ,
"query" : {} ,
"millis" : 0
}
模型中的映射似乎也正确:
Ext.define('AM.model.User', {
extend: 'Ext.data.Model',
fields: ['_id', 'manufacturer']
});
如果您能帮助我,请提前致谢!干杯,
文森特