**背景:** 项目中,原先服务端`Access-Control-Allow-Origin`设置的值为`*`,前端请求访问正常; 后来由于公司安全限制,`*`更改为一系列的白名单列表(域名列表),本地调试时由于诸如`http://localhost:8090`的域名不在白名单之内,所以前端接口请求会报错。 报错详情如下: status code: 403 message: invalid corse 说明有跨域问题了,请求不成功。 **解决方案:** 服务端在之前的白名单列表`Access-Control-Allow-Origin`中加上了`http://localhost:8090`,所有访问正常——包括get请求和post请求都正常。 **奇怪的现象:** 在`Access-Control-Allow-Origin`未添加`http://localhost:8090`之前, * get请求: 请求正常 * post请求:请求出错,有403 跨域问题报错 **区别:** get请求 请求头没有origin,post请求头有origin。 **get请求请求表头如下:**  **总结下,主要有如下几个疑问:** 1. 为什么get请求不会有跨域问题。 2. 为什么get请求请求头没有origin字段,post请求请求头有origin字段。 3. 本地调试,除了让后端在白名单里面加上localhost域名,还有其它更好的方案吗?