一尘不染

fetch()输入意外结束

json

我正在使用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))

阅读 239

收藏
2020-07-27

共1个答案

一尘不染

一种用于响应no-cors请求到跨源资源具有“不透明”的响应类型。如果在尝试将响应转换为JSON之前记录响应,您将看到一种“不透明”的类型。

不透明类型被列为“严重受限”

不透明的已过滤响应是已过滤的响应,其类型为“不透明”,URL列表为空列表,状态为0,状态消息为空字节序列,标头列表为空,主体为null,尾部为空。

类型不透明时,当前无法读取它们。

不透明的响应是针对在不返回CORS标头的其他来源的资源上发出的请求。如果响应不透明,我们将无法读取返回的数据或查看请求的状态,这意味着我们无法检查请求是否成功。使用当前的fetch()实现,无法从与窗口全局范围不同的来源请求资源。

有关不透明类型的信息,请参阅Google的文档

2020-07-27