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

时间:2011-03-18 09:08:34

标签: javascript jquery macos safari http-headers

很抱歉,如果这是实际重复但我没有设法找到我的问题的答案。

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

  

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

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

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

2 个答案:

答案 0 :(得分:9)

  

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

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

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

Content-Type: application/javascript

text/javascriptapplication/x-javascript的先前值分别已过时或已弃用;那说,IE< = 8只接受前者,所以在对文件进行任何修改时要小心。

答案 1 :(得分:7)

我有同样的问题,它是由 Web.Config 授权块引起的,我不得不在 Web.Config 中添加一个条目,以便在没有登录:

<location path="Scripts/jquery-2.0.3.min.js">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>