为什么我在控制台中收到此错误?
拒绝执行脚本 ' https://www.googleapis.com/customsearch/v1?key=API_KEY&q=flower&searchType=image&fileType=jpg&imgSize=small&alt=json' 因为它的MIME类型(' application / json')不可执行,并且 启用了严格的MIME类型检查。
答案 0 :(得分:42)
您有一个<script>
元素试图加载一些外部JavaScript。
您提供的URL指向JSON文件而不是JavaScript程序。
服务器正确地报告它是JSON,因此浏览器正在使用该错误消息中止而不是尝试将JSON作为JavaScript执行(这会引发错误)。
可能的根本原因是你正在尝试发出一个Ajax请求,已经命中cross origin error并试图通过告诉jQuery你正在使用JSONP来修复它。这仅在URL提供JSONP(JavaScript的不同子集)时才有效,而这不是。
带有附加查询字符串参数callback=the_name_of_your_callback_function
的相同网址确实会返回JavaScript。
答案 1 :(得分:41)
在我的情况下,它找不到文件,我错误地输入了javascript文件的路径。
答案 2 :(得分:19)
此结果是第一个在谷歌中弹出的结果,并且比这里发生的更广泛。以下内容适用于快速服务器:
我试图从嵌套文件夹中访问资源。
在index.html
里面我有
<script src="./script.js"></script>
静态路由安装在:
app.use(express.static(__dirname));
但script.js
位于嵌套文件夹中,如下所示:js/myStaticApp/script.js
我刚刚将静态路由更改为:
app.use(express.static(path.join(__dirname, "js")));
现在有效:)
答案 3 :(得分:5)
如果使用的是Node.js,请尝试使用 express.static()。
您只需要将保存静态资产的目录的名称传递给express.static中间件,即可开始直接提供文件。例如,如果将图像,CSS和JavaScript文件保存在名为public的目录中,则可以执行以下操作-
即: app.use(express.static('public'));
这种方法解决了我的问题。
谢谢
答案 4 :(得分:3)
搜索了一段时间后,我意识到Windows 10 64位中的此错误与JavaScript有关。为了查看此内容,请转到浏览器DevTools并首先确认。在我的情况下,它显示类似“ MIME类型('application / javascript')不可执行”之类的错误。
如果是这种情况,我已经找到了解决方案。这是交易:
前段时间我遇到了完全相同的问题。我认为此问题特定于Windows。这是由于在Windows注册表中为javascript文件设置了错误的MIME类型。我通过使用正确的内容类型编辑Windows注册表解决了该问题:
regedit-> HKEY_LOCAL_MACHINE \ Software \ Classes->您将看到每个文件扩展名的文件夹很多->只需向下滚动到“ .js”注册表并选择它->在右侧,如果“ Content Type”值不是应用程序/ javascript,那么这就是引起问题的原因。右键单击“内容类型”,然后将值更改为application / javascript
在浏览器中重试。”
之后,我意识到错误发生了变化。它甚至不会在浏览器中自动打开。但是,PGAdmin将在侧栏上打开(靠近日历/时钟)。通过尝试直接在浏览器中打开(“ New PGAdmin 4窗口...”),它也不起作用。
最终解决方案:单击“复制服务器URL”,然后将其粘贴到浏览器中。它对我有用!
答案 5 :(得分:2)
就我而言,我正在处理遗留代码
我有这行代码
<script type="text/javascript" src="js/i18n.js.php"></script>
我对这应该如何工作感到困惑,这段代码调用的是 PHP 文件而不是 js
尽管它在实时服务器上运行
但是我在舞台服务器上有这个错误
内容类型是
content-type: text/html; charset=UTF-8
即使是脚本标签中的text/javascript
在我添加之后
header('Content-Type: text/javascript');
文件的开头 i18n.js.php
错误已修复
答案 6 :(得分:1)
Python烧瓶
在 Windows 上,它使用注册表中的数据,因此,如果HKCR / .js中的“内容类型”值未设置为正确的MIME类型,则可能会引起问题。
打开 regedit 并转到 HKEY_CLASSES_ROOT ,确保键 .js / Content Type 的值为 text / javascript < / strong>
C:\>reg query HKCR\.js /v "Content Type"
HKEY_CLASSES_ROOT\.js
Content Type REG_SZ text/javascript
答案 7 :(得分:0)
将如下所示的代码段添加到条目html中。即reactjs中的“ index.html”
<div id="wrapper"></div>
<base href="/" />
答案 8 :(得分:0)
我遇到了同样的问题,问题在于我在路径中缺少斜线。
我有
并修复它,我只需要在jquery-ui和jquery-ui.min之间添加斜杠:
<script type="text/javascript" src="js/jquery-ui/jquery-ui.min.js"></script>
希望这会有所帮助:D
答案 9 :(得分:0)
我不小心将js文件命名为localhost:4200/main/
而不是@Override
public void configure(StateMachineConfigurationConfigurer<States, Events> config)
throws Exception {
config
.withVerifier()
.enabled(true)
.verifier(cusomVerifier());
}
@Bean
public StateMachineModelVerifier customVerifier() {
return new CustomVerifier();
}
class CustomVerifier extends DefaultStateMachineModelVerifier {
@Override
public void verify(StateMachineModel model) {
super.verify(model); // call the existing sanity check model verifier
Collection<StateData<State, Event> statesData = model.getStatesData().getStateData();
//log your stuff
}
}
...
答案 10 :(得分:0)
我的网络服务器返回了:
Content-Type: application\javascript
并且我终其一生都无法弄清楚出了什么问题。然后我意识到我的斜线方向错误。应该是:
Content-Type: application/javascript
答案 11 :(得分:0)
我的问题是我一直将 CSS 文件放在脚本定义区域的末尾上方 尝试检查页面中的文件位置
答案 12 :(得分:-1)
如果您有快递路线,例如:
app.get("*", (req, res) => {
...
});
尝试将其更改为更具体的内容:
app.get("/", (req, res) => {
...
});
例如。
否则,您可能会发现自己一次又一次地递归地提供相同的HTML模板...
答案 13 :(得分:-1)
我遇到了同样的问题,然后我就这样解决了
change "text/javascript"
到
type="application/json"
答案 14 :(得分:-2)
在我的情况下,我有一个针对404文件的符号链接,而我的Tomcat未配置为允许符号链接。
我知道这对大多数人来说不太可能是原因,但如果您拼命,请检查这种可能性,以防万一。
答案 15 :(得分:-13)
我通过将$ {pageContext.request.contextPath}添加到我的jsp路径来解决了我的问题。 而不是:
<script src="static/js/jquery-3.2.1.min.js"></script>
我设置:
<script src="${pageContext.request.contextPath}/static/js/jquery-3.2.1.min.js"></script>