为什么我在控制台中收到此错误?
拒绝执行来自“ https://www.googleapis.com/customsearch/v1?key=API_KEY&q=flower&searchType=image&fileType=jpg&imgSize=small&alt=json ”的脚本,因为它的 MIME 类型(“application/json”)不可执行,并且启用了严格的 MIME 类型检查。
为什么我在控制台中收到此错误?
拒绝执行来自“ https://www.googleapis.com/customsearch/v1?key=API_KEY&q=flower&searchType=image&fileType=jpg&imgSize=small&alt=json ”的脚本,因为它的 MIME 类型(“application/json”)不可执行,并且启用了严格的 MIME 类型检查。
您有一个<script>
试图加载一些外部 JavaScript的元素。
您给它的 URL 指向一个 JSON 文件,而不是一个 JavaScript 程序。
服务器正确报告它是 JSON,因此浏览器会因该错误消息而中止,而不是尝试将 JSON 作为 JavaScript 执行(这会引发错误)。
很可能这是因为您正在尝试发出 Ajax 请求,遇到了跨源错误,并试图通过告诉 jQuery 您正在使用 JSONP 来修复它。这仅在 URL 提供 JSONP(它是 JavaScript 的不同子集)时才有效,而这个没有。
不过,带有附加查询字符串参数的相同 URLcallback=the_name_of_your_callback_function
确实会返回 JavaScript。
在我的情况下,它是一个未找到的文件,我错误地输入了 javascript 文件的路径。
如果您使用的是 Node.js,请尝试使用express.static()。
您只需将保存静态资产的目录的名称传递给 express.static 中间件即可开始直接提供文件。例如,如果您将图像、CSS 和 JavaScript 文件保存在名为 public 的目录中,您可以执行以下操作:
即:app.use(express.static('public'));
这种方法解决了我的问题。
谢谢,
搜索了一段时间后,我意识到我的 Windows 10 64 位中的这个错误与 JavaScript 相关。为了看到这一点,请转到您的浏览器 DevTools 并首先确认。就我而言,它显示了一个错误,如“MIME 类型(‘应用程序/javascript’)不可执行”。
如果是这种情况,我已经找到了解决方案。这是交易:
前一段时间我遇到了完全相同的问题。我认为这个问题是特定于 Windows 的。这是由于在 Windows 注册表中为 javascript 文件设置了错误的 MIME 类型。我通过使用正确的内容类型编辑 Windows 注册表解决了这个问题:
regedit -> HKEY_LOCAL_MACHINE\Software\Classes -> 您将看到每个文件扩展名的许多文件夹 -> 只需向下滚动到“.js”注册表并选择它 -> 在右侧,如果“内容类型”值不是应用程序/javascript,那么这就是导致问题的原因。右键单击内容类型并将值更改为 application/javascript
在浏览器中重试。”
在那之后,我意识到错误发生了变化。它甚至不再在浏览器中自动打开。但是,PGAdmin 将在侧栏上打开(靠近日历/时钟)。通过尝试直接在浏览器中打开(“新 PGAdmin 4 窗口...”),它也不起作用。
最终解决方案:单击“复制服务器 URL”并将其粘贴到浏览器上。它对我有用!
编辑:可能不需要复制服务器 URL,正如 Eric Mutta 在下面的评论中所解释的那样。