我正在使用fetch()从api服务器获取数据。我的错误如下所示:
Uncaught (in promise) SyntaxError: Unexpected end of input at fetch.then.blob.
你能告诉我我在做什么错。
const weatherAPi ='https://www.metaweather.com/api/location/523920'; fetch(weatherAPi, { mode: 'no-cors' }).then(blob => blob.json()) .then(data => console.log(data))
一种用于响应no-cors请求到跨源资源具有“不透明”的响应类型。如果在尝试将响应转换为JSON之前记录响应,您将看到一种“不透明”的类型。
no-cors
不透明类型被列为“严重受限”。
不透明的已过滤响应是已过滤的响应,其类型为“不透明”,URL列表为空列表,状态为0,状态消息为空字节序列,标头列表为空,主体为null,尾部为空。
类型不透明时,当前无法读取它们。
不透明的响应是针对在不返回CORS标头的其他来源的资源上发出的请求。如果响应不透明,我们将无法读取返回的数据或查看请求的状态,这意味着我们无法检查请求是否成功。使用当前的fetch()实现,无法从与窗口全局范围不同的来源请求资源。
有关不透明类型的信息,请参阅Google的文档。