2010-08-18 99 views
2

我的网站登录使用AJAX发布凭证。然后它检查要返回的“错误/成功”,然后进行相应的处理。Javascript重定向到SSL导致“部分加密”错误

这一直工作得很好,直到我想添加SSL。

原始代码:

if (output == 'success') 
    window.location=window.location; 

替换代码:

if (output == 'success') 
    window.location=String(window.location).replace('http://', 'https://'); 

这将用户重定向到SSL'd页面,但它导致Firefox呈现content was partially encrypted错误。

如何在不给出警告的情况下使用Javascript重定向到SSL'd页面?

回答

1

你的代码看起来很好。

通常问题是SSL页面上的某些内容(Javascript库,CSS文件,图像等)未使用SSL。

使用Firebug“net”选项卡检查加载在SSL页面上的所有内容。使用http://

+0

引用了某些内容在SSL页面上的所有GET请求都显示它是从HTTPS提取的。没有HTTP。如果我手动刷新页面,一旦它被加载,它工作正常。 – dave 2010-08-18 01:24:21

+0

以下是一个类似的问题:http://forum.civicrm.org/index.php?topic=12063.0 在其他浏览器中尝试您的网页。它是特定于FF吗? – 2010-08-18 01:37:56

+0

刚刚在Chrome和Internet Explorer中尝试过。 Chrome浏览器的网址栏亮起,没有错误,IE点亮了部分加密错误。 Firebug的网络标签显示没有加载HTTP内容。 page/does /链接到HTTP内容(超链接,没有内容被加载)以及DOCTYPE和HTML XLMNS参考http://但是不应该导致错误,对吧? :/ – dave 2010-08-18 01:48:13