很困惑
我使用React和fetch发送这样的请求:
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);})
响应就在网络选项卡
但是会抛出错误
SyntaxError: Unexpected end of input
at SyntaxError (native)
at http://127.0.0.1:8888/js/video.bundle.js:30174:15
当我试图记录承诺时,它似乎是一个奇怪的对象:
Response {type: "opaque", url: "", status: 0, ok: false, statusText: ""…}
这是图片
有人能帮忙吗?我对这个
不能向不支持跨域资源共享(CORS)的外部服务器发出请求。
通过在请求上设置no-cors
模式,您显式地告诉服务器在无法访问其内容的情况下发出副作用请求。这类似于当您从第三方站点在HTML中放置<img>
标记并且无法访问其内容时-它对调用代码是不透明的。
你需要在服务器端下载json,然后从你自己的服务器上提供它,以避免这个问题。