2014-03-18 103 views
0

我在嘗試在自定義模塊中發出ajax請求時出現此錯誤: XMLHttpRequest無法加載https://www.vossmarket.com/index.php/shoppinglist/index/showLists/product/4294/form_key/6erZKqom1ynOWDKI/qty/1/。請求的資源上沒有「Access-Control-Allow-Origin」標題。因此'Origin'http://www.vossmarket.com'不允許訪問。Magento Ajax請求在自定義模塊中不起作用

我假設問題是我從http調用https,但我無法弄清楚它爲什麼調用https。我已經在magento配置中關閉了https(我將secure_base_url更改爲http://vossmarket.com,並且我在前端中將「使用安全URL」設爲「no」)。現在所有鏈接都保持爲http,但是當我訪問我的自定義模塊時,它仍然會將(302)重定向到https。這發生在每個鏈接http://vossmarket.com/shoppinglist(我的自定義模塊),任何其他路線保持http,但任何途徑以任何方式擊中我的模塊302s到https

任何想法可能發生什麼或解決它的最佳方法?

+0

您是否找到解決方案? – zad

+0

不,我最終不得不運行它的HTTP。我無法得到任何工作。 –

回答

0

你有沒有試圖把一個名爲crossdomain.xml文件在Web根(可通過HTTP和HTTPS),即在HTTP(S)://vossmarket.com/crossdomain.xml

這應該有助於定義在http和https之間允許跨站點來源。

就你而言,我認爲自定義模塊對於通過http訪問並將302發送到瀏覽器感到不安,所以這將是研究自定義模塊的控制器操作以找出其原因強制https(而不是詢問Magento安全URL是什麼)。實際上,如果你嘗試這個crossdomain.xml,你將需要瀏覽器來請求http加載http頁面,否則我認爲你仍然會得到302重定向 - 但是在crossdomain.xml中,你應該能夠XMLHttpRequest的從http://vossmarket.comhttps://vossmarket.com

但是,你知道,經常有很好的理由,HTTPS,所以我想你應該明白爲什麼HTTPS被強制而且我不知道有關XML安全=「假」 - 它真的意味着https請求通過http返回?我希望不會,但我不知道。

欲瞭解更多關於CORS的信息,儘管你的'跨域'是http跨越到https。