客戶端Web頁面使用Ajax訪問跨域URL時,會被瀏覽器捕獲,一般瀏覽器會給安全提示。這樣顯然用戶使用就不是太方便。
這裏提供一種可以跨域的訪問方式,但本質上並不是真的跨域,而是使用HTTP代理將跨域URL轉化爲本域URL。
具體做法是這樣的:
1)編寫一個頁面proxy.jsp,在頁面中把要訪問的跨域URL作爲參數傳遞;
2)proxy.jsp得到URL參數後,使用Socket連接訪問相應頁面,並將其返回值回送到客戶端的Response中;
3)客戶端訪問proxy.jsp,並傳遞URL;
經測試,可以實現“跨域Ajax”功能,但由於服務器端沒有真正解析訪問的外域URL的返回HTML文檔,因此可能導致服務器端請求連接無法及時關閉(具體要看服務器端代碼如何寫了)。