调用维基百科API遇脚本执行错误:MIME类型('text/html')不兼容求助
维基百科API调用MIME类型错误排查
嘿,我来帮你拆解这个问题——你遇到的这个MIME类型错误其实很常见,核心原因和你的API请求参数有直接关系:
错误本质
浏览器启用严格MIME类型检查后,会拒绝执行MIME类型为text/html的内容作为脚本,因为脚本文件的合法MIME类型应该是application/javascript(或类似可执行类型)。而你的请求返回了text/html,说明维基百科服务器没有返回你预期的JSONP脚本,而是返回了HTML格式的错误页面。
大概率的触发原因
几乎都是请求参数不规范导致的:
- 你可能遗漏了维基百科API的必填参数,比如
action(必须指定API要执行的操作,比如action=query)、format=json(指定返回格式为JSON,配合callback实现JSONP跨域)。如果缺少这些关键参数,服务器无法识别这是一个合法的API请求,就会返回HTML格式的错误提示页面。 - 另外,你URL里的参数开头有个多余的
&(w/api.php?&callback=...),虽然jQuery可能会兼容,但这种不规范的参数格式也可能触发服务器的错误处理逻辑。
排查和解决步骤
- 第一步:直接把那个请求URL复制到浏览器地址栏打开,看看返回的内容到底是什么。如果是HTML页面(比如显示参数错误的提示),那就能坐实参数问题。
- 第二步:修正请求参数,确保包含核心必填项。举个合法的JSONP请求例子:
这里https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=apple&format=json&callback=jQuery111105448874468459555_1518288921946action=query指定执行查询操作,list=search指定搜索列表,srsearch=apple是搜索关键词,format=json指定返回JSON格式,再加上callback参数实现跨域。 - 第三步:确保参数格式规范,不要在
?后面直接加&,第一个参数直接跟在?后面即可。
内容的提问来源于stack exchange,提问作者Jana
相关产品推荐
相关产品推荐

