3

我有以下代码检查用户名和密码,如果成功则重定向到新页面。它在 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.");   
    }
},
4

6 回答 6

12

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

所以我刚刚在我的机器上测试了 IE9 中的 location.replace 并且它工作正常。

然后我在我的 IE9 上测试了 console.log 并且它卡住了(这显然只有在我正在阅读的某个开发人员面板或选项卡或其他东西打开时才有效,尽管我对 IE9 的开发工具没有太多经验可以肯定地说)。

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

于 2012-06-05T11:53:16.923 回答
5

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

var targetlocation = "mylocation";

setTimeout(changeURL,0)

function changeURL()
{
    window.location = targetlocation;
}
于 2012-10-10T15:05:16.093 回答
3

你不需要更换。

if(html=='true') {
        window.location = "newpage.php";
       // or
       window.location.href = "newpage.php";
    } else {
        $("#add_err").html("Wrong username or password.");   
    }
于 2012-06-05T11:37:10.490 回答
1

尝试

window.location.href = 'newpage.php'

于 2012-06-05T11:39:02.680 回答
1
window.location = "newpage.php";

或者

window.location.href = "newpage.php";
于 2012-06-05T11:39:23.197 回答
1
if(html) {
  window.location.href = "filename.php";
} else {
  $("#add_err").html("Wrong username or password.");
}
于 2012-06-05T12:08:21.063 回答