dajngo cookie 修改问题设置
原创
©著作权归作者所有:来自51CTO博客作者wx5b6d6c951e615的原创作品,请联系作者获取转载授权,否则将追究法律责任
异常: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;