Reactjs 仅在chrome上使用corsheaders的缺失修补方法
我有一个Django应用程序,它使用的是Reactjs 仅在chrome上使用corsheaders的缺失修补方法,reactjs,django,google-chrome,http-headers,cors,Reactjs,Django,Google Chrome,Http Headers,Cors,我有一个Django应用程序,它使用的是corsheaders包及其in settings.py,如下所示: INSTALLED_APPS=[…,corsheaders,…] ... 中间件=[ #在上面 “corsheaders.中间件.CorsMiddleware”, “django.middleware.common.CommonMiddleware”, ... ] ... CORS\u ORIGIN\u ALLOW\u ALL=True CORS\u ALLOW\u凭据=True
corsheaders
包及其in settings.py,如下所示:
INSTALLED_APPS=[…,corsheaders,…]
...
中间件=[
#在上面
“corsheaders.中间件.CorsMiddleware”,
“django.middleware.common.CommonMiddleware”,
...
]
...
CORS\u ORIGIN\u ALLOW\u ALL=True
CORS\u ALLOW\u凭据=True
当我尝试在Google Chrome上使用选项
方法后执行修补程序
请求时,我得到以下信息:
访问控制允许方法缺少补丁
,下一个请求失败,出现CORS方法错误
但是我在Firefox上尝试了同样的方法,并且它的工作方式与预期的一样
似乎您需要明确地设置允许的原点,而不是使用通配符,即
*
:
CORS_ALLOWED_ORIGINS = [
"https://example.com",
"https://sub.example.com",
"http://localhost:8080",
"http://127.0.0.1:9000"
]
另外,设置所有HTTP谓词:
CORS_ALLOW_METHODS = [
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
]
阅读更多:
或CORS\u ALLOW\u ORIGINS=True
(旧名称)等于使用通配符CORS\u ORIGIN\u ALLOW\u ALL=True
:*