从 EventListener 函数调用时,Javascript 重定向 (window.location.href) 在 Asp.NET Core 项目中不起作用

K.Arkadius Wowczuk

因此,在单击按钮时,脚本会发送一个 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;
}

我也尝试过各种其他与 window.location.href 做同样事情的表单,但它们都不起作用。这里发生了什么?

mj1313

您忘记向 redirectUrl 添加请求方案:

redirectUrl =  Request.Scheme + "://" + Request.Host + "/" + page.PageURL;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章