首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >请求发送成功,但在使用“fetch”时返回一个空承诺

请求发送成功,但在使用“fetch”时返回一个空承诺
EN

Stack Overflow用户
提问于 2016-10-27 10:36:57
回答 1查看 885关注 0票数 0

我使用React和fetch发送请求,如下所示:

代码语言:javascript
复制
fetch(`http://www.bilibili.com/index/catalogy/1-3day.json`,{
        mode: "no-cors"
    }).then(r => r.json()).then(r => {
        console.log(r);
    }).catch(err => {console.log(err);})

响应就在“网络”选项卡中。

但是它会抛出一个错误:

代码语言:javascript
复制
SyntaxError: Unexpected end of input
at SyntaxError (native)
at http://127.0.0.1:8888/js/video.bundle.js:30174:15

当我尝试记录承诺时,它似乎是一个奇怪的对象:

代码语言:javascript
复制
Response {type: "opaque", url: "", status: 0, ok: false, statusText: ""…}

这是一幅画

有人能帮忙吗?我真的很困惑

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-28 08:43:42

不能向不支持跨源资源共享(CORS)的外部服务器发出请求。

通过在请求上设置no-cors模式,可以显式地告诉服务器在不能够访问其内容的情况下发出副作用请求。这类似于您从第三方站点在HTML中放置一个<img>标记,并且无法访问其内容--它对调用代码是不透明的。

您需要在服务器端下载json,然后从您自己的服务器上提供它,以避免这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40282445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档