如何使用vue向django发送post请求而不出现403错误?

如何使用vue向django发送post请求而不出现403错误?,django,vue.js,django-csrf,Django,Vue.js,Django Csrf,我试图使用Vue的post请求发送信息,但每次尝试都会收到错误40358 我的django服务还可以,我认为问题在于csrf令牌,但我不知道如何使用vue发送它 var-vue=新的vue({ el:“应用程序”, 数据:{ 名称:“, 阿佩利多:“, 密码:“ }, 方法:{ enviar:函数(){ 数据={ “nombre”:这个,nombre, “阿佩尔迪奥”:这个,阿佩尔迪奥, “密码”:这是一个密码 }; 这是.$http.post(“http://localhost:8000/us

我试图使用Vue的post请求发送信息,但每次尝试都会收到错误40358 我的django服务还可以,我认为问题在于csrf令牌,但我不知道如何使用vue发送它
var-vue=新的vue({
el:“应用程序”,
数据:{
名称:“,
阿佩利多:“,
密码:“
},
方法:{
enviar:函数(){
数据={
“nombre”:这个,nombre,
“阿佩尔迪奥”:这个,阿佩尔迪奥,
“密码”:这是一个密码
};
这是.$http.post(“http://localhost:8000/usuarios\\,数据)。然后(函数(数据、状态、请求){
如果(状态==200){
控制台日志(数据);
}
},函数(){
控制台日志(“错误”);
});
}
}
});

标题
新乌萨里奥酒店
名义:
阿佩利多:
密码:
羡慕
{%csrf_令牌%}

您可以使用一种方法,该方法涉及使用javascript获取csrf令牌,然后将其作为前面提到的头传递给POST请求。在该链接中还提供了获取csrf令牌值的示例


此外,如果端点不需要此类保护,您可以像中一样禁用它。

您可以使用类似以下内容:

{% csrf_token %}
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-resource/0.1.13/vue-resource.min.js"></script>

<script>
    var csrf = document.querySelector('[name="csrfmiddlewaretoken"]').value;

    Vue.http.interceptors.push(function (request, next) {
        request.headers['X-CSRF-TOKEN'] = csrf;
        next();
    });

    // Or maybe
    Vue.http.headers.common['X-CSRF-TOKEN'] = csrf;
</script>
{%csrf\u令牌%}
var csrf=document.querySelector('[name=“csrfmiddlewaretoken”]')。值;
Vue.http.interceptors.push(函数(请求,下一步){
request.headers['X-CSRF-TOKEN']=CSRF;
next();
});
//或许
Vue.http.headers.common['X-CSRF-TOKEN']=CSRF;
您也可以这样使用它,例如:

<script>
    var csrf = '{{ csrf_token }}';

    Vue.http.headers.common['X-CSRF-TOKEN'] = csrf;
    // Or other way
    // Vue.http.interceptors.push(...);
</script>

var csrf='{csrf_token}}';
Vue.http.headers.common['X-CSRF-TOKEN']=CSRF;
//或者其他方式
//http.interceptors.push(…);


注意:我不是django开发者,但我给了你基本的想法,因此请查看以了解更多信息。

本示例教程可能会帮助你传递请求。那么,你找到解决方案了吗,其中一个答案对你有帮助吗?给我们一个反馈,让我们保持帮助;D