koa2 使用 koa2-cors 库配置跨域无效的问题

参考:MDN fetch

服务端配置

const cors = require("koa2-cors");

app.use(cors())

服务端这样配置后,前端页面访问接口还是报跨域的问题。

原因

由于我使用的是 fetch 去请求接口,且配置了 credentials 字段,代码如下:

fetch('http://192.168.1.111:3000/api/flow', {
  credentials: 'include',
})
.then(res => {
  return res.json();
})
.then(json => {
  console.log('获取的结果', json);
  return json;
})

解决

只需要将 credentials 字段的配置去掉就可以请求到服务端的接口数据了。

扩展

使用 axios 这样的请求库直接请求接口是可以获取到数据的,因为 axios 使用的是 xhr 的方式,和 fetch 不一样。


版权声明:本文为zahirah11原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。