后端给我一个测试接口,我用fetch API 去POST,一开始发现被CORS所屏蔽,在报错的指示中得到提示:使用mode:"no cors”,这样POST确实成功了,可以对服务器的JSON进行改写,此时我还没发现问题。
接着我开始测试GET请求的功能,没有多想我依旧使用no cors设置,但是这次返回的响应,url是空的,status显示为0.总之请求是不成功的。
经过查阅资料,我了解到,使用no cors返回的是opaque即不透明响应,是不能满足需要的,这时候我回头在控制台打印POST的响应,发现也是一样。
因此不能依赖于no cors来跨域通信,必须使用方法让服务器和前端同源。
报错中提示,缺少Access-Control-Allow-Origin,因此必须让后端的同学在server.js中的Access-Control-Allow-Origin这一属性中把我电脑的地址给加上。