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