我想将一个ashx页面的rss提要到EXTjs商店。它与xml页面完美配合。但是当我在ashx页面上测试它时,它不会!
link:http://met.guc.edu.eg/Feeds/Course.ashx?c=240
var store = Ext.create('Ext.data.Store', {
autoLoad: true,
proxy: {
type: 'ajax',
url: 'http://met.guc.edu.eg/Feeds/Course.ashx?c=240',
reader: {
type: 'xml',
record: 'item',
}
},
fields: ['title','category','pubDateParsed'],
groupField: 'category',
sorters: [{property: 'pubDateParsed', direction: 'DESC'}]
});
答案 0 :(得分:2)
由于same origin policy,浏览器可能会阻止您提取Feed。
使用传统的AJAX调用,您只能与托管您网页的网站进行通信(除非您调整设置以允许它)。
您需要在您的网站上设置一个代理页面来获取和回显数据,或者通过Yahoo! Pipes到convert the XML into JSON之类的方式运行代理页面,并使用动态脚本标记具有相同的原产地政策限制。
答案 1 :(得分:1)
我认为有一些过滤器会阻止访问。
所以,我可以ping
met.guc.edu.eg。 nslookup
说met.guc.edu.eg有ip:62.241.151.180
...但http:/62.241.151.180/Feeds/Course.ashx?c=240
返回404。
我甚至无法通过telnet连接到它,无需浏览器即可获得响应。
当我从ExtJS代码尝试时,我得到Error 403。
答案 2 :(得分:1)
我认为您需要将代理设为:
proxy: {
type: 'ajax',
url: 'http://met.guc.edu.eg/Feeds/Course.ashx?c=240',
reader: {
type: 'xml',
root: 'channel',
record: 'item'
}