如何强制Internet Explorer在重新加载JavaScript时遵守内容类型

如何强制Internet Explorer在重新加载JavaScript时遵守内容类型,javascript,internet-explorer,http-headers,Javascript,Internet Explorer,Http Headers,在某些情况下,无法处理HTTP请求(超时、配额等),因此我们通过以HTTP响应的形式发送HTML页面来显示警告,并使用适当的内容类型:text/HTML 此HTML页面有一个按钮,使用JavaScriptlocation.reload()重试原始请求,重播整个原始请求(相同的参数、URL、方法[GET、POST、HEAD,…])。如果这一次可以执行请求,则预期响应将与其标题一起提供(例如内容类型:application/pdf) 此重新加载在Firefox、Chrome/Safari等标准友好浏

在某些情况下,无法处理HTTP请求(超时、配额等),因此我们通过以HTTP响应的形式发送HTML页面来显示警告,并使用适当的
内容类型:text/HTML

此HTML页面有一个按钮,使用JavaScript
location.reload()
重试原始请求,重播整个原始请求(相同的参数、URL、方法[GET、POST、HEAD,…])。如果这一次可以执行请求,则预期响应将与其标题一起提供(例如
内容类型:application/pdf

此重新加载在Firefox、Chrome/Safari等标准友好浏览器中工作,但在Internet Explorer(9/10/11)中不起作用。Internet Explorer显示重新加载的内容,但忽略此“重新加载”响应的
内容类型
标题,并将其视为HTML(
临时警告页的内容类型

我曾尝试添加
X-Content-Type-Options:nosniff
,但它无法解决IE问题


在这种情况下,有没有办法使IE尊重响应标题?

您可以试试这个location.href=location.href。这基本上是一样的,但可以产生不同。这绝对不一样。这将向URL或原始请求发送不同的GET请求,不带原始参数,也不使用与原始请求相同的HTTP方法(可以是POST、HEAD等)。当然,这只适用于GET。IE是否正在尝试将其从缓存中加载?否。IE默认为
位置。重新加载
不使用缓存,此外,内容更改显示在浏览器中,不考虑
内容类型
标题会导致严重的显示问题。