繁体   English   中英

如何从外部服务器导入数据

[英]How can I import data from external server

我想从我的GridPanel中的外部服务器导入数据。 我已经尝试过使用以下代码:

 Ext.define('User', {
        extend: 'Ext.data.Model',
        fields: [
       { name: 'HasError', type: 'string' },
       { name: 'ErrorString', type: 'char' }
       ]
    });
 var store = Ext.create('Ext.data.Store', {
        model: 'User',
        proxy: {
            type: 'ajax',
            url: 'http://.../GetActivities.aspx',
            method: 'POST',
            reader: {
                type: 'json',
               root: 'Data'
            }
        },
        autoLoad: true

    });
    store.load();

现在,将其加载到GridPanel中。

 xtype: "grid",
 border: false,
 store: store,
 viewConfig: { forceFit: true },
 flex: 1,
 columns: [
        { header: "Aktivitätsnummer", width: 125, dataIndex: 'HasError', sortable: true },
        { header: "Zweck", width: 175, dataIndex: 'ErrorString', sortable: true }
 ]

我已经在同一台服务器上用json文件尝试过相同的代码,并且可以正常工作

这是因为浏览器跨域限制。 您无法创建到其他域的ajax请求,然后您的网站就可以了。
唯一可行的解​​决方案是使用iframe,因为这是可以在您的网站中托管外部内容的元素。

为了避免安全性限制,您需要对后面的代码进行网络调用。

您使用ajax调用服务器,并使用asp.net提供的WebRequest在后面的代码上调用并从另一台服务器获取数据。

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(TheWebPageToRead);

我们创建了一个我们称为ReRouteHandler ,基本上它看到请求进入本地服务器,并通过使用正则表达式匹配url的配置文件映射到远程服务器,从而从本地调用远程服务器上的数据。服务器并传递回请求,确实可以很好地实现并且易于实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM