[英]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.