通过向DOM添加<script>
标记来调用REST API。我需要将类型设置为application/json
以避免JS错误。 API返回JSON对象,并且使用type=text/javascript
定期提供语法错误,因为浏览器需要JavaScript但是会读取JSON。根据浏览器的不同,它会在第一个冒号上出现“意外的令牌:”错误,或“SyntaxError:missing; before statement {”property_name“:”
此块不执行API调用: (请注意此调用需要和auth密钥,因此此代码在写入时会出现500错误。)
<script>
var s = document.createElement('script');
s.type = 'application/json';
s.src = '//my.api.com/api/v2/asset.json';
document.getElementsByTagName('head')[0].appendChild(s);
</script>
使用默认的“text / javascript”类型进行API调用,但会出现语法错误:
<script>
var s = document.createElement('script');
s.src = '//my.api.com/api/v2/asset.json';
document.getElementsByTagName('head')[0].appendChild(s);
</script>
我可以将MIME类型设置为触发API调用的其他内容(HTTP GET)吗?或者我们需要在API上设置一些东西,这样这个调用会起作用吗?
答案 0 :(得分:0)
浏览器不知道如何执行以JSON表示的脚本(因为它不是脚本语言,而是数据格式),因此您无法使用<script>
元素来加载JSON文件。 / p>
如果要加载用于JavaScript的JSON数据,请使用XMLHttpRequest。