我想要一个导航视图。我正在尝试使用JsonP代理填充Sencha Touch中的列表。
以下是我迄今为止尝试过的示例代码段:
var view = Ext.define('MyApp.view.NavigateView', {
extend: 'Ext.navigation.View',
xtype:'navigateview',
config : {
fullscreen:true,
styleHtmlContent:true,
scrollable:true,
items : [
{
title:'Navigation',
items : [
{
xtype:'list',
store: {
fields : ['title','author'],
proxy : {
type:'jsonp',
url:'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=http://feeds.feedburner.com/SenchaBlog',
reader: {
type: 'json',
rootProperty: 'responseData.feed.entries'
}
},
autoLoad:true,
},
itemTpl:'<div class="contact">{title} <strong>{author}</strong></div>',
listeners : {
itemtap : function(){
Ext.Msg.alert('Called');
}
}
}
],
}
]
}
});
但问题是,我的名单没有填充。列表中没有显示任何项目。
另外,我经常在控制台上收到此错误。
XMLHttpRequest无法加载 http://api.tinyhippos.com/xhr_proxy?tinyhippos_apikey=ABC&tinyhippos_rurl=list.php%3F_dc%3D1334462633038%26page%3D1%26start%3D0%26limit%3D25。 Access-Control-Allow-Origin不允许原点http://localhost。
有人请指导吗?我在这里缺少什么?
答案 0 :(得分:2)
我在跨域使用AJAX请求时遇到了同样的错误。 看看here
您必须确保使用jsonp正确配置服务器部分
作为第一步,确定在浏览器中禁用Web安全性时应用程序是否可以正常运行
找到您的chrome安装目录
然后输入您的cmd:chrome --disable-web-security
答案 1 :(得分:0)
您的Ext.navigation.View对象包含一个包含您的列表的Ext.Component对象(xtype未定义为默认为'component')。如果您将列表直接作为视图的项目,则会显示:
var view = Ext.define('MyApp.view.NavigateView', {
extend: 'Ext.navigation.View',
xtype: 'navigateview',
config : {
fullscreen: true,
styleHtmlContent: true,
scrollable: true,
items : [{
title: 'Navigation',
xtype: 'list',
store: {
fields: ['title','author'],
proxy: {
type: 'jsonp',
url: 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=http://feeds.feedburner.com/SenchaBlog',
reader: {
type: 'json',
rootProperty: 'responseData.feed.entries'
}
},
autoLoad:true
},
itemTpl: '<div class="contact">{title} <strong>{author}</strong></div>'
}]
}
});
注意1:不确定为什么你的代码无效。
注意2:您提到的错误与您的代码段无关