Javascript重定向或重新加载

Javascript重定向或重新加载,javascript,Javascript,我有一个通过ajax提交数据的ajax方法。然后,服务器用要加载的URL进行响应。大多数情况下,URL与发出请求的URL不同,但有时URL是相同的 无论哪种方式,我都希望页面转到预期的url,即使它只是重新加载页面 我尝试了window.location.href='方法,但是如果当前url与预期url相同,则不会发生任何事情 我已经尝试了window.location.replace(url)方法,但是如果当前===预期,则不会重新加载页面 我尝试了window.location.reload

我有一个通过ajax提交数据的ajax方法。然后,服务器用要加载的URL进行响应。大多数情况下,URL与发出请求的URL不同,但有时URL是相同的

无论哪种方式,我都希望页面转到预期的url,即使它只是重新加载页面

我尝试了
window.location.href='
方法,但是如果当前url与预期url相同,则不会发生任何事情

我已经尝试了
window.location.replace(url)
方法,但是如果当前===预期,则不会重新加载页面

我尝试了
window.location.reload(true)
方法,但只有当当前url与预期url相同时,这种方法才有效

我尝试将预期的URL与当前URL进行比较,并执行重新加载或
href
方法,但这也存在问题。如果单击引导选项卡,则哈希值不会出现在URL中,因此
当前URL
值实际上不正确

供您参考,这是/曾经是我的比较:

if(window.location.href === response.intended) {
    window.location.reload(true);
} else {
    window.location.replace(response.intended);
}

我只想强制浏览器重定向到指定的URL,或者根据当前URL和指定URL重新加载当前页面。

要确保页面未被缓存,请在URL末尾添加一个随机数:

window.location.replace(response.intended + "?rnd" + Math.random() );

要确保页面未被缓存,请在url末尾添加一个随机数:

window.location.replace(response.intended + "?rnd" + Math.random() );

window.location.hash
添加到新url以进行比较。如果没有,它将返回一个空字符串

if(window.location.href === response.intended + window.location.hash) { 

window.location.hash
添加到新url以进行比较。如果没有,它将返回一个空字符串

if(window.location.href === response.intended + window.location.hash) { 

正如在评论中所讨论的,我认为这是由于url中的
字符,这使得浏览器移动到页面的特定部分,如
标记

var index = response.intended.indexOf('#');
if(index >= 0) {
    response.intended = response.intended.substr(0, index);
}
window.location.href = response.intended;

正如在评论中所讨论的,我认为这是由于url中的
字符,这使得浏览器移动到页面的特定部分,如
标记

var index = response.intended.indexOf('#');
if(index >= 0) {
    response.intended = response.intended.substr(0, index);
}
window.location.href = response.intended;

我尝试了window.location.href=''方法,但是如果当前url与预期的url相同,则不会发生任何事情。你确定吗?url中有任何
#
字符吗?@rajuGT有时会有,我正在使用引导选项卡。请在当前SO问题url中尝试此操作。使用
#
页面将移动到帖子。但是,如果删除该
#
,则会重新加载整个页面。试着检查一下差异。我想这可能就是问题所在。@RayonDabre目前,当url(用于引导选项卡)中存在哈希时,它肯定不会这样做,例如,
window.location.href=someurl.com/test.php#tab_1
不会重新加载/重定向页面。我尝试了window.location.href=''方法,但如果当前url与预期url相同,则不会发生任何事情。你确定吗?url中有任何
#
字符吗?@rajuGT有时会有,我正在使用引导选项卡。请在当前SO问题url中尝试此操作。使用
#
页面将移动到帖子。但是,如果删除该
#
,则会重新加载整个页面。试着检查一下差异。我想这可能就是问题所在。@RayonDabre目前,当url(用于引导选项卡)中存在哈希时,它肯定不会这样做,例如,
window.location.href=someurl.com/test.php#tab_1
不会重新加载/重定向页面。好主意,没有想到这种方法!谢谢你的回答:)好主意,没想到这个方法!谢谢你的回答:)