脚本无法获取响应主体(原因:CORS Missing Allow Credentials)
背景:
前端的端口号8080,后端8000。需在前端向后端传一个参数,让后端访问数据库去检测此参数是否出现过。涉及跨域请求,一直有这个bug是404文件找不到。
在修改过程当中不小心删除了一段代码,出现了这个bug(这篇文章要解决的)
get访问也被禁了
解决办法:
CORS_ALLOW_CREDENTIALS = True
前端设置了 withCredentials = true(即你希望浏览器发送凭证,如Cookies或HTTP认证信息),但是后端并没有正确配置响应头来允许这个行为。确保你在后端的 CORS 配置中允许凭证:也就是上面的CORS_ALLOW_CREDENTIALS = True
如果还是不行的话说明你直接就是没配置CORS
我的配置如下:
前端向后端传数据涉及到跨域,就需注册,安装django-cors-headers库,允许跨域访问的域名并在设置中允许凭证
2.27补:昨天晚上十一点多写的,今天早上九点想起来忘记写下载命令了,竟然还有四个点赞,你们是CSDN花钱雇来的人机吗?打工人现在才开始上班哎.
pip install django-cors-headers
INSTALLED_APPS = ['corsheaders']
#跨域添加白名单
CORS_ORIGIN_WHITELIST = (#批准前端的数据'http://www.meiduo.site:8080','http://127.0.0.1:8080','http://localhost:8080',
)
CORS_ALLOW_CREDENTIALS = True
MIDDLEWARE = ['corsheaders.middleware.CorsMiddleware'
]
还不清楚的话,建议去看一下这一集,太晚了不想写了
20-CORS_哔哩哔哩_bilibili