Access-Control-Allow-Origin 是設定對請求端放行
看你的圖設定的好像是接收端的domain
这段代码我是写在api的配置中,我用的阿帕奇
@拖延症重患者:
A Domain(頁面) 呼叫B Domain API
B Domain API 在回應時要加上Header Access-Control-Allow-Origin: A Domain
你是這樣設定的嗎
另外,設定Access-Control-Allow-Origin 的時候只需要設定Domain
不需要http/https,也不需要port
我在本地试了一下,用本地ip:端口也不行.请求头也没加上去.然后在本地使用域名就正常获取到接口信息了
@拖延症重患者:
先想辦法把header加上
不然沒法測
看看你服务器上的8081端口是不是通的
可以的.我前端用的是8081,然后api用的是8082.用8081进入到正常的登录界面.然后调用接口就是报跨域错误了.我在本地是没问题的.然后用官方的路由配置和在网上查了好多方法都不行.就很莫名其妙.
请求头硬是没加上去
@拖延症重患者: 设置header你在代码里哪个文件里设置的,放在入口文件试试
直接放在public/index.php入口处试试
header("Access-Control-Allow-Origin:*");
header("Access-Control-Allow-Methods:GET, POST, OPTIONS, DELETE");
header("Access-Control-Allow-Headers:DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, Accept-Language, Origin, Accept-Encoding");
你去把服务器里面规则改一下,把8081口子对外开放就可以了,不是改代码,改腾讯云服务器的控制台
同样还是不行.
@拖延症重患者: 你再看看你前端和后端的代码里面的跨域有没有问题,而且你要对外开发而不是对内,后端很简单,本地postman调用接口,看看后端是不是存在跨域,,你前面页面部署服务器上了本地访问相当于你用本地的ip访问腾讯服务器ip,如果可以通排除后端跨域问题,后面就是前端的跨域问题,前端白名单配置上腾讯云服务器ip即可
@小小咸鱼YwY: 我在本地用ip:端口也不行.用域名就可以.
用了各种方法硬是没把请求头放上去.....在本地使用域名就可以.
@拖延症重患者: 那是后端白名单的问题,,域名和ip在后端白名单是2个不同的ip
用nginx试一下?
我直接改代码用方法把表头给写进去了.配置完全没用.也不知道哪里的问题了.