跨域问题

为了让admin管理系统适应手机版,决定对首页及各个功能页进行升级。以前用admin antd design作为脚手架进行开发发现对手机版支持不好。这次用ant design的pro版进行开发,从新搭建前端开发框架。

之前框架用axios作为请求网络的基础组件,碰到了一些跨域问题,在我的另一篇里面介绍了解决方案。这次用的是dva/fetch里面的fetch请求网络数据,碰到新的跨域问题如下:

The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. Origin 'http://localhost:8000' is therefore not allowed access.

ant design pro开发碰到的跨域问题

此时server设置是这样

    header('Access-Control-Allow-Origin: *');

修改之后:

   header('Access-Control-Allow-Origin:' . $_SERVER['HTTP_ORIGIN']);

又出现了新的问题:

ant design pro开发碰到的跨域问题

The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'. Origin 'http://localhost:8000' is therefore not allowed access.

于是在server端又增加了:

    header('Access-Control-Allow-Credentials: true');

问题得到解决。