解决跨域有两种情况:
CORS方式:
1:不需要带cookie的情况下:
前端:
import axios from 'axios'
axios.defaults.withCredentials = false;
设置 发请求不携带 cookie
后台: 由于不需要带cookie后台不需要拿到cookie做如何处理;
so:
'Access-Control-Allow-origin': '*'
'Access-Control-Allow-Credentials': 'false'
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS'
'Access-Control-Allow-Headers': ‘Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With'
'Content-Type': 'text/html; charset=utf-8'
需要注意就是
‘Access-Control-Allow-origin’: '’
‘Access-Control-Allow-Credentials’: ‘false’
设置为具体的域名,能设置为。
不携带cookie
2:需要带cookie的情况下:
前端
import axios from 'axios'
axios.defaults.withCredentials = true;
后台:
'Access-Control-Allow-origin': "http://localhost:9530"
'Access-Control-Allow-Credentials': 'true'
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS'
'Access-Control-Allow-Headers': ‘Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With'
'Content-Type': 'text/html; charset=utf-8'
Access-Control-Allow-Origin必须设置为具体的域名,而不能设置为*。
例如:
Access-Control-Allow-Origin:https://mp.youkuaiyun.com;
希望对看了这篇文章的你有帮助!