2009-10-05 41 views
0

使用Dojo,是否可以使用xhrPost從HTTP視圖到HTTPS url進行Ajax調用? url必須是HTTPS(在Struts中定義)。xhrPost:從http視圖到https url

如果我簡單地將「MyCommand」設置爲xhrGet的'url'參數,我會得到一個302錯誤代碼。

如果我改造「mycommand的」使用JavaScript來像「https://......./servlet/MyCommand」我看到在Firebug以下錯誤:「未捕獲的異常:權限被拒絕調用方法XMLHttpRequest.open」。

我堅持使用這兩種方法,我發現的唯一解決方法是刪除Struts配置文件中的「HTTPS」的條款,當然這不是一個正確的解決方案:)

感謝您的幫助。

此致,從http

尼爾斯

+1

這是瀏覽器安全限制。你可以使用SCRIPT標籤和「JSONP」來解決它。看看dojo.io. – peller 2009-10-06 13:42:06

回答

1

連接到https涉及所述目標的一個不同的端口。這違反了應由瀏覽器對正在運行的JavaScript代碼實施的同源策略。

應該有一個iframe工作..

dojo.io.iframe封裝此行爲對您 http://docs.dojocampus.org/dojo/io/iframe

如果你的服務器重定向到非SSL(正確地同源響應)頁面,您應該能夠讀取響應(因爲iframe現在處於同一個原始位置)。