Gih*_*ita 2 json jsonp extjs extjs4
我已配置extjs store来加载来自useragentstring.com api的数据,这个api返回这样的数据
{"agent_type":"Browser","agent_name":"Opera","agent_version":"9.70","os_type":"Linux","os_name":"Linux","os_versionName":"","os_versionNumber":"","os_producer":"","os_producerURL":"","linux_distibution":"Null","agent_language":"English - United States","agent_languageTag":"en-us"}
Ext.define('Oms.model.Userinfo', {
extend : 'Ext.data.Model',
fields : ['agent_type', 'agent_name', 'agent_version', 'os_type', 'os_name']
});
Ext.define('Oms.store.Userinfo', {
extend : 'Ext.data.Store',
model : 'Oms.model.Userinfo',
proxy: {
type : 'jsonp',
reader : {
type: 'json',
root: ''
}
}
});
Run Code Online (Sandbox Code Playgroud)
这个商店抛出一个错误

也许这是因为这个json中没有root?
任何想法如何正确读取此输出和加载存储?
问候
当我没有设置root或设置时,它适用于我undefined.
您也可以扩展Ext.data.reader.Json以调整对您需求的响应.例:
Ext.define('Ext.data.reader.JsonPWithoutRoot', {
extend: 'Ext.data.reader.Json',
read: function(response) {
return this.callParent([ { root: response } ]);
},
root: 'root'
});
Run Code Online (Sandbox Code Playgroud)
然后在代理中定义它像这样:
proxy: {
type: 'jsonp',
callbackKey: 'method',
url: 'http://localhost/ext4/data3.php',
reader: Ext.create('Ext.data.reader.JsonPWithoutRoot', {})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8910 次 |
| 最近记录: |