fetch API 跨域请求的返回的 response 中 body 为 null - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NicholasNC
V2EX    问与答

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

  •  
  •   NicholasNC 2016-07-22 11:02:53 +08:00 9160 次点击
    这是一个创建于 3437 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    并且完全读取不了 json 文件

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

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

    第 1 条附言    2016-07-22 15:04:02 +08:00

    终于解决问题了:主要原因是我的服务器没有开启支持跨域访问,如下图所以:(当服务器开启了支持跨域访问就可以了)

    让Apache 和nginx支持跨域访问

    但关于Fetch API的 no-corscors 还是有点疑惑

    [翻译] 这个API很“迷人”(新的Fetch API))中提到:

    这里说 no-cors是默认的? 并且里面说 no-cors js不能访问Response中的任意属性,这难道是造成下图的原因吗?

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

    (*^__^*)
    pole1419
        4
    pole1419  
       2016-09-11 14:54:07 +08:00
    我也遇到这个情况,问题是要请求资源是第三方公开的 API ,自己没权限去设置人家的服务器允许跨域。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2717 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 02:30 PVG 10:30 LAX 18:30 JFK 21:30
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86