【发布时间】:2019-04-02 19:18:44
【问题描述】:
我的场景: example.com 是用户正在访问的 django 页面。会话由服务器设置。现在,我在另一个名为 xyz.com 的域上有前端应用程序,现在,我需要在 example.com 上调用 API,所以我正在尝试使用 @ 进行 ajax 调用987654324@。但它似乎没有在请求中发送 cookie 'sessionId'。
我已经看到了一些堆栈溢出的答案,但建议的答案不起作用。 link1link2link3
我一直在尝试: 我的后端是用 Django 编写的,所以我尝试设置
CORS_ALLOW_CREDENTIALS = True
# Cross Origin Request Settings (CROS)
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_METHODS = (
'GET',
'POST',
'PUT',
'PATCH',
'DELETE',
'OPTIONS'
)
CORS_ALLOW_HEADERS = (
'x-requested-with',
'content-type',
'accept',
'origin',
'authorization',
'x-csrftoken',
'cache',
'cookie',
)
CORS_ORIGIN_WHITELIST = [
'*'
]
SESSION_COOKIE_HTTPONLY = False
SESSION_COOKIE_DOMAIN = 'example.com'
我正在使用 ajax 在 example.com 上进行 api 调用
jQuery.ajax({
url: "http://example.com/api/v1/admin/settings/",
dataType: 'json',
xhrFields: { withCredentials: true },
success: function(data) {
console.log(data);
}
});
【问题讨论】:
标签: django ajax session-cookies django-cors-headers