Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery window.location.href不在IE 11中工作_Jquery_Ajax_Redirect - Fatal编程技术网

Jquery window.location.href不在IE 11中工作

Jquery window.location.href不在IE 11中工作,jquery,ajax,redirect,Jquery,Ajax,Redirect,我使用Jquery Ajax作为登录表单。Ajax成功后,我使用window.location.href=“test.php” 这在Chrome、firefox和IE9中都能正常工作,但在IE11中却无法正常工作 我试过了 window.location.replace("test.php"); window.location.assign("test.php"); setTimeout('window.navigate("test.php");', 1); window.open('test.

我使用Jquery Ajax作为登录表单。Ajax成功后,我使用
window.location.href=“test.php”

这在Chrome、firefox和IE9中都能正常工作,但在IE11中却无法正常工作

我试过了

window.location.replace("test.php");
window.location.assign("test.php");
setTimeout('window.navigate("test.php");', 1);
window.open('test.php','_self', null , false);

但都失败了。有人能帮忙吗?

尝试添加一个前导斜杠:

window.location.assign('/test.php');
解释
无论何时设置位置,其工作原理与在同一页面上单击超链接非常相似。假设你在这样一个地方:

window.location.replace("test.php");

。。。然后,您尝试使用以下任何一种不带前导斜杠的机制离开此页面:

window.location.assign('/test.php');

window.location=“test.php”;
window.location.href=“test.php”;
window.location.assign(“test.php”);
window.location.replace(“test.php”);
pushState(“测试页面”{},“Test.php”);
。。。您会注意到URL变为:

但是如果你放了一个前导斜杠,/test.php,那么这个位置就会变成:


您可以使用
document.location
代替,它在IE11中按照


关于会话存储,您必须进行如下设置:

转到工具->Internet选项,单击隐私选项卡并选择高级,然后在该窗口中,选中覆盖自动Cookie处理和始终允许会话Cookie复选框

它会起作用的,对我很好

问候,

雷卡

我这样解决了这个问题:

window.location.replace("test.php");

我建议使用
location.assign(“url”)
location.replace(“url”)
而不是
location.href=url

尝试过的window.location=“test.php”;它是如何失败的?你有什么错误
location.href='myurl'工作正常这两个也不工作。在控制台中,文件名只是作为File:test.php进行响应,但我没有给出任何控制台声明。正如他们所说:如果你让它在IE上工作,它将在所有其他浏览器上断开,如果你让它在IE上工作,它将不会在任何其他浏览器上工作。我不确定这是否真的正确。我也曾遇到过这个答案,但我始终无法证实这一点。这里有更多的网站,也有相反的答案,例如(及其副本)。可能问题出在
window.location
被用于传递给
setTimeout
@t.niese的字符串中,我也不确定,但我在上面找到了这个答案,所以我建议了它。@rekhas那么实际问题是关于缺少的前导
/
?因为在您的问题中,您提到您尝试了
window.location.assign(“test.php”)