在FF和所有,我的javascript工作良好。但在Chrome中,它会给出这样的信息:
资源解释为脚本,但传输与MIME类型文本/纯。
我已经检查了所有的脚本标签,他们都有MIME类型=“文本/javascript”。它甚至说jquery和jquery ui。Chrome出了什么问题?
问题是什么,解决方法是什么?它是我必须改变浏览器的“选项”,还是来自服务器,或者我必须调整我的代码?
在FF和所有,我的javascript工作良好。但在Chrome中,它会给出这样的信息:
资源解释为脚本,但传输与MIME类型文本/纯。
我已经检查了所有的脚本标签,他们都有MIME类型=“文本/javascript”。它甚至说jquery和jquery ui。Chrome出了什么问题?
问题是什么,解决方法是什么?它是我必须改变浏览器的“选项”,还是来自服务器,或者我必须调整我的代码?
当前回答
如果你用一个php文件生成javascript,添加这个作为你的文件的开头:
<?php Header("Content-Type: application/x-javascript; charset=UTF-8"); ?>
其他回答
这意味着服务器正在发送Javascript HTTP响应
Content-Type: text/plain
您需要配置服务器以发送JavaScript响应
Content-Type: application/javascript
对于Java应用服务器,如Weblogic
1)确保你的weblogic.xml文件没有错误
比如这个:
<?xml version = '1.0' encoding = 'windows-1252'?>
<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"
xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
<context-root>MyWebApp</context-root>
</weblogic-web-app>
2)在web.xml文件中添加javascript的mime类型:
...
</servlet-mapping>
<mime-mapping>
<extension>js</extension>
<mime-type>application/javascript</mime-type>
</mime-mapping>
<welcome-file-list>
...
这也将适用于其他Java容器- Tomcat等应用程序/javascript是目前唯一有效的mime类型;其他如text/javascript已弃用。
3)您可能需要清除浏览器缓存或按CTRL-F5
如果你正在使用AdonisJS (REST API,例如),一种避免这种情况的方法是这样定义响应头:
response.safeHeader('Content-type', 'application/json')
如果它的IIS确保在你的公共HTTP功能下,你已经打开了静态内容
对我来说,它只发生在一些页面上,因为我使用了window。Location代替$ Location .url(…);这解决了我的问题。花了一段时间才弄明白:)