无法在Django网站上发布跨域请求

Unable to post a cross origin request in Django website

本文关键字:布跨域 请求 网站 Django      更新时间:2023-09-26

即使在安装CORS中间件并启用跨域请求之后也是如此。我无法使用Javascript发出post请求。

const csrf = Cookies.get('csrftoken');
    return {
    'X-CSRFToken' : csrf,
    'Access-Control-Allow-Origin':"*"
    "Access-Control-Allow-Headers":"Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers"};

还有Django app

CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = (
'127.0.0.1',
)
CORS_ALLOW_HEADERS = (
'x-requested-with',
'content-type',
'accept',
'origin',
'authorization',
'x-csrftoken',
'x-api-key'
)

添加CORS中间件后,

MIDDLEWARE_CLASSES = ('corsheaders.middleware.CorsMiddleware')

也许您需要设置Access-Control-Request-Methods。像这样

"Access-Control-Request-Methods": "OPTIONS, HEAD, GET, POST"

检查这个问题

Access-Control-Request-Methods的默认值