拒绝执行脚本,是否启用严格的MIME类型检查?

问题描述:

为什么我在控制台中出现此错误?拒绝执行脚本,是否启用严格的MIME类型检查?

拒绝从 “https://www.googleapis.com/customsearch/v1?key=API_KEY&q=flower&searchType=image&fileType=jpg&imgSize=small&alt=json” 执行脚本,因为它的MIME类型(“应用/ JSON”)不是可执行文件,和 严格MIME类型检查被启用。

您有一个<script>元素正在尝试加载一些外部JavaScript。

你给它的URL指向一个JSON文件而不是一个JavaScript程序。

服务器正确地报告它是JSON,因此浏览器正在以该错误消息中止,而不是尝试执行JSON作为JavaScript(这会引发错误)。


赔率是这种情况的根本原因是,你正试图使一个Ajax请求,纷纷创出cross origin error并试图告诉你正在使用jQuery的JSONP解决它。这只有在URL提供JSONP(这是JavaScript的不同子集)时才有效,但这不是。

具有附加查询字符串参数callback=the_name_of_your_callback_function的同一个URL确实会返回JavaScript。

+0

我现在已经给这一点,它修正错误

+0

但我怎么显示我应该得到的图像链接api说? –

+0

'type =“application/json”' - 现在浏览器知道它不会尝试加载JavaScript,因此它完全忽略了脚本元素。 – Quentin

我解决了我的问题,只需在我的jsp路径中添加$ {pageContext.request.contextPath}即可。 在代替:

<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>