我正在尝试使用iTunes搜索api和fetch API。
当我尝试以下操作时,我会在控制台中得到一个响应。
fetch('https://api.github.com/users/bootstrap').then(function(response) {
return response.json();
}).then(function(j) {
console.log(j);
});然而,当我尝试
fetch('https://itunes.apple.com/search?term=jack+johnson',{mode: 'no-cors'}).then(function(response) {
return response.json();
}).then(function(a) {
console.log(a);
});我得到一个错误Uncaught (in promise) SyntaxError: Unexpected end of input(…)
是否有可能以这种方式获取iTunes API数据?
谢谢,戴夫
发布于 2016-07-12 11:14:27
来自MDN (https://developer.mozilla.org/en-US/docs/Web/API/Request/mode):
无-cors-阻止方法不是任何东西,头部,获取或张贴。如果任何ServiceWorkers拦截这些请求,则除这些请求外,它们不得添加或覆盖任何标头。此外,JavaScript 不能访问结果响应的任何属性。这确保了ServiceWorkers不影响Web的语义,并防止跨域数据泄漏引起的安全和隐私问题。
这就是为什么在解析空字符串JSON.parse("")时在JS中获得空响应和JSON错误的原因。
https://stackoverflow.com/questions/38326173
复制相似问题