Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Django Rest Framework CSRF令牌失败_Jquery_Django Forms_Django Rest Framework_Django Csrf - Fatal编程技术网

Jquery Django Rest Framework CSRF令牌失败

Jquery Django Rest Framework CSRF令牌失败,jquery,django-forms,django-rest-framework,django-csrf,Jquery,Django Forms,Django Rest Framework,Django Csrf,首先,我必须说,我在这里找到的所有解决方案对我都没有帮助 我的错误 详细信息:“CSRF失败:CSRF令牌丢失或不正确。” 我的反应形式 render: function(){ return( <div className="col-lg-12 mrg"> <h3 className="ui dividing header">Add comment</h3> <form method="POST"

首先,我必须说,我在这里找到的所有解决方案对我都没有帮助

我的错误

详细信息:“CSRF失败:CSRF令牌丢失或不正确。”

我的反应形式

    render: function(){
    return(
    <div className="col-lg-12 mrg">
        <h3 className="ui dividing header">Add comment</h3>
        <form method="POST" role="form" className="ui reply form" onSubmit={this.handleSubmit}>
            <div className="field">
                <textarea ref="text"></textarea>
            </div>
            <button className="ui blue labeled submit icon button" type="submit" value="SUBMIT" name="submit"><i className="icon edit"></i> Send</button>
        </form>
    </div>
    );
}
我的标题

POST http://my.site/news/5 HTTP/1.1
Host: my.site
Proxy-Connection: keep-alive
Content-Length: 29
Origin: http://my.site
HTTP_X_CSRFTOKEN: GpCrHfeG7im7EObtiL6g56f5QvTJJRHZ
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
Referer: http://my.site/news/5
Accept-Encoding: gzip, deflate
你能给我一个建议为什么我仍然有这个错误吗?
在前端框架中使用django表单的最佳实践是什么?

您添加了错误的标题。在
$.ajax()
调用中,您应该执行以下操作:

  headers: {
    'X-CSRFToken': getCookie('csrftoken')
  },

有关详细信息,请查看“”问题。

谢谢,朱伦!实际上是的。但我发现了另一个解决方案,比如Django文档中的beforeSend函数,但您的解决方案肯定也能工作!我链接的答案包括这些,还有更多,去看看;)
  headers: {
    'X-CSRFToken': getCookie('csrftoken')
  },