我只是想知道为什么这个插件似乎在完全https强制的站点上通过http请求资源。

enter image description here

我完全困惑于这是如何发生的,看到插件代码中没有引用http,据我所知。

从本质上讲,我的问题是,如果有一种方法可以通过magento以某种方式将此请求重定向到https,因为XMLHTTPRquest似乎尝试请求不安全的内容。

有帮助吗?

解决方案

你没找到的原因 http 插件代码中的引用是因为它们可能是使用AJAX请求URL设置的 Mage::getBase() 或者任何与此有关的东西。

但是,您可以使用以下方法快速修复此问题 prototype onCreate 事件处理程序。把下面的代码放在你的主题中 footer.phtml 档案:

<script type="text/javascript">
    Ajax.Responders.register({
            onCreate: function(request) {
                if (location.protocol === 'https:') {
                    request.url = request.url.replace("http:", "https:");
                }
            }
        });
</script>

它能做什么?这将绑定事件并在 prototype AJAX对象已创建。它将验证您的网站URL,如果是 https: 然后将您的AJAX URL替换为 https:.

请不要说这是快速修复您的问题,并应用于所有您的AJAX请求,这是通过初始化 prototype.

如果您对此解决方案有任何疑问,请告诉我。

其他提示

这是订单网格的形式。

Essentialy Check Magento - >设置 - > Web - > Secure 。检查Web 安全使用前端启用。它强制使用HTTPS协议。即使你强迫在其他地方强制URL,也需要启用它。

许可以下: CC-BY-SA归因
scroll top