如何在IE 9中使window.location.replace工作?

时间:2012-06-05 11:35:23

标签: php javascript jquery internet-explorer

我有以下代码检查用户名和密码,然后如果成功则重定向到新页面。它适用于Firefox就好了,但是当我在IE 9上试用它时,它只是坐着并挂起。我需要做什么才能在IE上使用它?

username=$("#user_name").val();
password=$("#password").val();
$.ajax({
    type: "POST",
    url: "login.php",
    data: "name="+username+"&pwd="+password,
    success: function(html){
    console.log(html);
    if(html=='true') {
        window.location.replace("newpage.php");
    } else {
        $("#add_err").html("Wrong username or password.");   
    }
},

6 个答案:

答案 0 :(得分:11)

首先关于其他答案:location.replace与更改location.href不同,它对历史的反应不同,在很多情况下,location.replace对用户体验更好,所以不要把毛巾放在location.replace上这么快!

所以我刚刚在我的机器上测试了IE9中的location.replace并且它运行了。

然后我在我的IE9上测试了console.log并且它被阻塞(显然只有当某个开发人员面板或标签或某些东西打开时我才会阅读,但我对IE9的开发工具没有多少经验说肯定的。)

我打赌你的问题不是location.replace函数,但实际上就是它之前的console.log函数!

答案 1 :(得分:4)

我一直在寻找如何在IE上更改window.location,这对我有用:

var targetlocation = "mylocation";

setTimeout(changeURL,0)

function changeURL()
{
    window.location = targetlocation;
}

答案 2 :(得分:3)

您不需要重播。

if(html=='true') {
        window.location = "newpage.php";
       // or
       window.location.href = "newpage.php";
    } else {
        $("#add_err").html("Wrong username or password.");   
    }

答案 3 :(得分:1)

window.location.href = 'newpage.php'

答案 4 :(得分:1)

window.location = "newpage.php";

window.location.href = "newpage.php";

答案 5 :(得分:1)

if(html) {
  window.location.href = "filename.php";
} else {
  $("#add_err").html("Wrong username or password.");
}