680
社区成员




根据api文档所给的url,利用ajax、axios等方法获取数据,老是提示跨域问题,
在网上寻找范例,范例利用axios等方法可以成功获取数据,但是将url换成我自己的url,还是显示跨域,所以是我自己url的问题吗,是因为它没设置成可以跨域访问吗?
1 本地调试报跨域的错误,可以在本地设置代理
2 部署到测试环境或正式环境报跨域错误,需要排查前端资源和请求的接口地址是否跨域,例如协议名是否一致。如果后端接口地址不能改,后端可以加代理
CORS问题是由于浏览器不允许request 与 reponse的domain与port不一致,即必须同源, 例外是,如果response头部有Access-Control-Allow-Origin: * 字段参数则不做检查了。 用postman, curl 测试请求不会遇到CORS问题,Ajax使用浏览器都会有这个问题。解决也不难,只要在服务器端侧通过中间件在response加个头部字段就可以了, 或者在前端用Node.js代理服务器改都可以。具体步骤搜索一下CSDN就可以了。
这个要在服务端进行配置
如果使用了nginx 可以在nginx配置
如果没有使用nginx, 那可以在后端程序配置(当然, 使用了nginx也可以)
在请求头中加入允许跨域请求头