"资源被解释为脚本,但使用MIME类型text/html进行传输."

Dix*_*onD 14 javascript safari macos jquery http-headers

对不起,如果这是实际重复,但我没有设法找到我的问题的答案.

我用jQuery的$ .getScript加载脚本.但它会导致以下错误:

资源解释为脚本,但使用MIME类型text/html进行传输.

该问题仅出现在Mac OS下的Safari中

如果查看从服务器收到的标头,它们包含Content-Type:application/x-javascript,所以我真的不明白问题是什么.

Ja͢*_*͢ck 9

资源解释为脚本,但使用MIME类型text/html进行传输.

从技术上讲,这不是错误,而是通知/警告,不应特别引起任何问题; 如果有的话,这是一个很好的迹象,一些浏览器可能会选择忽略这样的响应.

Content-Type根据RFC,JavaScript 的正确响应头是:

Content-Type: application/javascript
Run Code Online (Sandbox Code Playgroud)

的先前值text/javascriptapplication/x-javascript过时或分别弃用; 也就是说,IE <= 8只会接受前者,因此在对文档进行任何更改时要小心.


K. *_*ber 7

我有同样的问题,它是由Web.Config授权块引起的,我不得不在Web.Config中添加一个条目,以便在未登录时使该脚本可用:

<location path="Scripts/jquery-2.0.3.min.js">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>
Run Code Online (Sandbox Code Playgroud)