我有两个应用程序(后端和前端)在本地计算机上运行(前端- Vue应用程序在端口8080上,后端- Scala应用程序在端口9000上)
我试图发送请求到后端使用Axios与cookie,但它只工作,如果两者都运行在同一个域:
正在工作(API请求中存在cookie):
- 后端地址:* http://127.0.0.1:9000/api/systems
- 前端(在浏览器中):* http://127.0.0.1:8080
不起作用(请求不包含cookie): - 后端地址:* http://127.0.0.1:9000/api/systems
- 前端(在浏览器中):* http://localhost:8080
我的前端片段与请求:
const BASE_URL = appConfig.API_URL + '/api';
axios.defaults.withCredentials = true;
axios.get(BASE_URL + '/systems');
我认为CORS配置正确:
play.filters.cors {
allowedOrigins = ["http://localhost:8080", "http://127.0.0.1:8080"]
supportsCredentials = true
allowedHttpMethods = ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]
}
3条答案
按热度按时间mspsb9vt1#
请在后端尝试以下操作:
9w11ddsr2#
您需要在响应中设置标头:
在node.js上的express中,它是这样的:
ou6hu8tu3#
不同的端口被认为是跨域的,所以这可能不是CORS设置的问题,因为在第一个示例中,跨域请求是有效的。