拒绝执行脚本,是否启用严格的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。
答
我解决了我的问题,只需在我的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>
我现在已经给这一点,它修正错误
但我怎么显示我应该得到的图像链接api说? –
'type =“application/json”' - 现在浏览器知道它不会尝试加载JavaScript,因此它完全忽略了脚本元素。 – Quentin