小编jim*_*man的帖子

如何从Django中检索/提供CSRF令牌作为API

我正在开发一个使用Django REST框架作为后端的项目(让我们说api.somecompany.com但是有一个React.js前端(at www.somecompany.com)不是由Django提供的,它提出了AJAX请求.

因此,我不能使用Django的传统方法让模板包含这样的CSRF令牌 <form action="." method="post">{% csrf_token %}

我可以向Django REST Framework的api-auth\login\url 发出请求,它会返回这个标题: Set-Cookie:csrftoken=tjQfRZXWW4GtnWfe5fhTYor7uWnAYqhz; expires=Mon, 01-Aug-2016 16:32:10 GMT; Max-Age=31449600; Path=/- 但是我无法检索这个cookie以发回我的AJAX请求X-CSRFToken(我的理解是单独的子域),它不会似乎被自动包括在内.

这是我的相关代码:

// using jQuery
function getCookie(name) {
    var cookieValue = null;
    if (document.cookie && document.cookie != '') {
        var cookies = document.cookie.split(';');
        for (var i = 0; i < cookies.length; i++) {
            var cookie = jQuery.trim(cookies[i]);
            // Does this cookie string begin with the name we want?
            if (cookie.substring(0, name.length + …
Run Code Online (Sandbox Code Playgroud)

django ajax jquery django-csrf reactjs

5
推荐指数
1
解决办法
1655
查看次数

标签 统计

ajax ×1

django ×1

django-csrf ×1

jquery ×1

reactjs ×1