IE6中从https跳转到非https的链接时出现安全提示的问题?
项目的登录页面使用了https,登录成功后跳转到其它http的页面去。
在ie6中会有安全警报。
查看微软的说明( http://support.microsoft.com/kb/88374... )好像只是说电脑的问题,而非代码的问题。
Answers
看了下京东的登录页面,他们是用ajax POST(详见 这里 )来提交用户名和密码进行登录,登录完毕以后 window.location = xxx; 跳转。由于不是通过http协议的location进行的重定向,浏览器大概就不管了。
相关代码列出供参考。
$("#loginsubmit").click(function () {
var loginUrl = "../uc/loginService";
var flag = loginNameOk() && validateFunction.FORM_validate();
if (flag) {
var srcValue = $("#JD_Verification1").attr("src");
if (!srcValue) {
srcValue = $("#JD_Verification1").attr("src2");
}
var uuid = srcValue.split("&uid=")[1].split("&")[0];
$(this).attr({ "disabled":"disabled" });
$.ajax({
type:"POST",
url:loginUrl + "?uuid=" + uuid + "&" + location.search.substring(1) + "&r=" + Math.random(),
contentType:"application/x-www-form-urlencoded; charset=utf-8",
data:$("#formlogin").serialize(),
error:function () {
$("#loginpwd").attr({ "class":"text highlight2" });
$("#loginpwd_error").html("网络超时,请稍后再试").show().attr({ "class":"error" });
$("#loginsubmit").removeAttr("disabled");
$this.removeAttr("disabled");
},
success:function (result) {
if (result) {
var obj = eval(result);
if (obj.success) {
window.location = obj.success;
return;
}
if (obj.transfer) {
window.location = obj.transfer + window.location.search;
return;
}
..... (以下省略)