[英]Javascript: window.location.href doesn't redirect when calling function within a function
[英]Javascript redirect (window.location.href) doesn't work in an Asp.NET Core project when called from an EventListener function
因此,单击按钮后,脚本会发送一个 POST 请求,该请求已正确处理并发送以下响应
redirectUrl = Request.Host + "/" + page.PageURL;
return Json(new { url = redirectUrl });
上述过程由以下代码启动
var request = new XMLHttpRequest();
request.open("POST", "/Page/Upload");
request.send(formData);
handleRequestSent(request);
下面的部分正确解析返回 Json 并给出正确的 url (localhost:5001/pagename)
function handleRequestSent(request) {
request.addEventListener("readystatechange", function () {
console.log(this);
if (this.readyState === 4) {
var responseData = JSON.parse(this.responseText);
console.log(responseData.url);
redirectToPage(responseData.url);
};
});
}
这是不起作用的部分。 但它似乎只在从上面的代码调用时不起作用。 当我直接调用此方法时,它会将我重定向到指定的地址。
function redirectToPage(redirectUrl) {
window.location.href = redirectUrl;
}
我还尝试了其他各种 forms 与 window.location.href 做同样的事情,但它们都不起作用。 这里发生了什么?
您忘记将请求方案添加到 redirectUrl:
redirectUrl = Request.Scheme + "://" + Request.Host + "/" + page.PageURL;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.