作者:我不是不是小受 | 来源:互联网 | 2023-09-15 10:17
异常:Thevalueofthe'Access-Control-Allow-Origin'headerintheresponsemustnotbethewild
异常: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'.
原因:
image.PNG
后台不能使用通配符 '*', 否则前端报错;
请求的 origin 和后台设置的 origin 不一致.
解决方案:
前端代码不用动.
后台 为'Access-Control-Allow-Origin' 设置动态的 origin.
respOnse= CustomResponse(data={'token': key, **serial.data}, code=200,
msg='ok', success=True,
headers={"Access-Control-Allow-Origin":request.META.get("HTTP_ORIGIN")})
response.set_COOKIE('hello',"199293",domain="192.168.96.55")
return response
其次还需要设置 settings.py :
# 允许跨域
CORS_ORIGIN_ALLOW_ALL = True
# 指明在跨域访问中,后端是否支持对COOKIE的操作
CORS_ALLOW_CREDENTIALS = True
前端:
axios.defaults.baseURL='http://192.168.96.55:8000/'
axios.defaults.withCredentials = true;