0
我最初使用以下ajax
调用发送POST
数据到django rest framework
API。django rest框架评论表不发送数据(如何使用角度js发送和接收json数据)
$('#comment_form').on('submit', function(e) { e.preventDefault()
$.ajax({
type:"POST",
url: '/api/comments/create/',
headers:{ 'X-CSRF-Token': getCookie('csrftoken') },
data:$('#post_form').serialize(),
error: function(response){
alert('Not authorized.'); // Or something in a message DIV
},
success: function(response){
// do something with response
}
});
});
但出于某种原因,我得到404
错误,当我使用注释form
,尽量POST
任何 时的其他形式,如登录form
和POST
form
工作就好了休息。
(这里是包含注释框http://192.241.153.25:8000/#/post/images2直播网站)
我想它是因为它使用angualr JS的路由功能后加入DOM
。
它抛出我的典型csrf
令牌丢失的错误时,控制台网络选项卡发送csrf
正常。
没有人知道任何解决这个问题?
我不知道它是否正常工作,如果我使用AngularJs
而不是jQuery
ajax
。
有,我能想到的许多问题。首先,遗漏CSRF不应该给你404。第二,当角度改变模板时,jquery的准备好的文档不会再被调用。您需要在控制器的最后手动调用jquery函数或添加相关事件。第三,这根本不会发布,也不会给你404,这看起来很奇怪。所以你需要进一步调查你的代码。我强烈建议你,因为你使用的是角度,而不是使用jquery的ajax,而是使用angular的http或service。 – Wtower