fetch API 跨域请求的返回的 response 中 body 为 null

2016-07-22 11:02:53 +08:00
 NicholasNC

在用 fetch API 实现跨域请求时,遇到这个问题,跨域请求是成功的,但是返回的 response 中 body 为 null 。

如果是同一个域名就没有问题,如下图

也能读取请求的 json 文件内容,

但,如果是跨域请求的话就会变成这样子:返回的 response 中 body 为 null

并且完全读取不了 json 文件

好像这位仁兄也遇到这种问题,不过还没有解决,不知道大家有没有同样经历?

其实跨域请求可以请求到json文件,但是为什么response 中 body 为 null

8642 次点击
所在节点    问与答
4 条回复
xxxyyy
2016-07-22 11:34:38 +08:00
你的 mode 都设成 no-cors ,还怎么跨呀!
如果你对 fetch API 不熟,建议你看下 MDN 里的文档: https://developer.mozilla.org/en-US/docs/Web/API/GlobalFetch/fetch
notgod
2016-07-22 11:44:39 +08:00
趴窝了都 还真没跨过去 @xxxyyy 正解+1 cors vs no-cors
NicholasNC
2016-07-22 15:05:48 +08:00
@xxxyyy @notgod 问题暂时是解决了,但对 Fetch 的 mode `no-cors` 和 `cors`的区别还是不是很懂,详细见附言。

(*^__^*)
pole1419
2016-09-11 14:54:07 +08:00
我也遇到这个情况,问题是要请求资源是第三方公开的 API ,自己没权限去设置人家的服务器允许跨域。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/294135

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX