0

您好,我的 aspx 页面与下一次调用我的 ashx

<script type="text/javascript" src="/Handlers/MyRedirect.ashx">
</script>

在 MyRedirect 内部,我做了一些硬逻辑并尝试重定向到我身边的其他页面,它看起来像:

public class MyRedirect : HttpTaskAsyncHandler, IReadOnlySessionState
    {     
        public override async Task ProcessRequestAsync(HttpContext context)
        {            
          //some logic here with out any output
          //context.Response.ContentType = "application/x-javascript";
          context.Response.Redirect("/adminDashboard.aspx", false);
        }
}

但是在 Chrome 中我收到错误 资源解释为脚本但使用 MIME 类型 text/html 传输: 我做错了什么?怎么解决 谢谢

4

1 回答 1

1

您要重定向到的页面必须返回 javascript 并设置适当的响应内容类型标头。在您展示的示例中,您似乎正在重定向到一些/adminDashboard.aspxWebForm,我猜它返回 HTML 而不是 javascript。或者,如果它确实返回 javascript,它不会将正确的 Content-Type 标头设置为text/javascript.

这就是 Chrome 抱怨的原因:您将标签的src属性指向<script>服务器端处理程序,该处理程序未设置预期和正确的内容类型。

因此,如果您必须执行此重定向,请确保在一天结束时您重定向到的页面返回有效的 javascript,并将 Content-Type 标头设置为text/javascript. Network在分析从浏览器发送的不同 HTTP 请求时,您可以很容易地在选项卡中看到这一点。

于 2012-12-07T11:49:17.337 回答