我們有一個ASP.Net應用程序託管在我們的網絡上並暴露給特定的客戶端。該客戶希望能夠將數據從他們自己的服務器導入到我們的應用程序中。數據是通過HTTP請求檢索的,並且是CSV格式的。問題是他們不希望將他們的服務器暴露給我們的網絡,並且正在請求在客戶端進行導入(所有客戶端都來自與其服務器相同的網絡)。JavaScript中的跨域數據訪問
所以,需要做的事情是:
- 他們請求導入頁面從我們的服務器
- 頁面上的客戶端腳本問題得到CSV格式到他們的服務器請求數據
- 數據被髮送回我們的應用程序
當兩臺服務器都在同一個域上時,這不是一個挑戰:一個簡單的隱藏的iframe或類似的東西可以做到這一點,但在這裏我是什麼獲取是跨域「拒絕訪問」錯誤。他們也拒絕更改數據格式以返回JSON或XML格式的數據。
我嘗試和迄今爲止學到的是:
- 隱藏的iframe - 「拒絕訪問」
- XMLHttpRequest的 - 行爲取決於瀏覽器的安全設置:可以工作,可以工作,同時嘮叨用戶安全警告,或可能不會在所有
- 動態腳本標籤工作 - 如果他們能以JSON格式已返回數據
- IE客戶端數據綁定會工作 - 同樣的「拒絕訪問」錯誤
在放棄之前還有什麼我可以嘗試的,並且表示如果不將他們的服務器暴露給我們的應用程序,更改他們的數據格式或更改他們的瀏覽器安全設置,這是不可能的? (順便說一下,DNS技巧不是一個選項)。
嗨,我不再在那裏工作了,我甚至不記得問題的所有細節,但感謝您的好鏈接! :) – vit 2010-05-05 10:20:15
無論如何,因爲這將解決原來的問題,我會接受這個答案。 – vit 2010-07-19 01:48:41