window.location未正确设置为新值

时间:2016-05-30 05:40:54

标签: javascript .net webforms window.location

我目前在网站上运行时遇到一些javascript问题。我正在尝试重定向到新页面,但是不是将重定向网址设置为我传入的页面,而是将其连接到现有网址的末尾。

例如,如果我当前在www.stackoverflow.com/questions并且想要转到www.stackoverflow.com/questions/ask,则网址变为www.stackoverflow.com/questions/www.stackoverflow.com/questions/ask

当我将包含URL的变量输出到控制台时,它正确显示

var nextPage = window.location.hostname + data.redirectUrl + "?confirmationtype=success";
console.log(nextPage);
window.location.href = nextPage;

以上输出为www.stackoverflow.com.au/questions/ask,但会重定向到www.stackoverflow.com/questions/www.stackoverflow.com/questions/ask

我做了一些搜索,在很多情况下,它似乎与表单上的onpost方法有关,但是我无法看到这将是如何在我的页面上出现问题而我正在使用轮询计时器方法来触发这些调用,因此页面帖子不应该是一个因素。此外,如果我尝试onpost="return false"使用相同布局的其他页面无法发布:S

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

没有协议的网址(“http:”)成为相对网址 - 因此当您尝试设置$mail->setBody('Simple message'); 时,它将不会执行导航。

类似于:

window.location

您可以使用var nextPage = window.location.hostname + data.redirectUrl + "?confirmationtype=success"; console.log(nextPage); window.location = "http://" + nextPage; 代替“http://”,您可以在上面的代码中使用window.location.protocolwindow.location

请注意,您的示例显示了一些奇怪的windows.location.href,这是函数调用,但window.location.href(nextPage);不是函数。