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

How can I import data from external server

本文关键字:数据 导入 服务器 从外部      更新时间:2023-09-26

我想在我的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文件,它的工作

为了避免安全限制,您需要在代码后面进行web调用。

你调用你的服务器与ajax,并在代码后面你调用和获取数据从其他服务器使用WebRequest, asp.net提供。

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

这是由于浏览器跨域限制。你不能创建ajax请求到其他域名,然后你的网站是。
唯一可能的解决方案是使用iframe,因为这是一个元素,它可以在您的网站上托管外部内容。

我们已经创建了我们所谓的ReRouteHandler,基本上它看到请求进入本地服务器,并通过使用正则表达式匹配url的配置文件映射到远程服务器,从而从本地服务器调用远程服务器上的数据并传递回请求,确实工作得很好,很容易实现。