EXTjs:如何读取从ashx页面到商店的rss feed?

时间:2011-08-21 02:38:55

标签: xml extjs rss store ashx

我想将一个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'}]
    });

3 个答案:

答案 0 :(得分:2)

由于same origin policy,浏览器可能会阻止您提取Feed。

使用传统的AJAX调用,您只能与托管您网页的网站进行通信(除非您调整设置以允许它)。

您需要在您的网站上设置一个代理页面来获取和回显数据,或者通过Yahoo! Pipesconvert 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'
}