我正在尝试将页面上的javascript中的数据传递给django项目中的另一个视图。但是看来该视图没有被调用。我想做的是使用JS,我只想从包含JS的页面中获取数据,并将其从django视图打印到控制台。
HTML页面上的js:
<script>
var URL="{% url 'projects:Unread' %}"
function Unread(){
var data = {'count': '5', 'X-csrfmiddlewaretoken': csrfmiddlewaretoken};
$.post(URL, data);
}
</script>
我在页面的某个地方调用了此函数,我使用了警报来确保它被调用。
我的urls.py:
path('notification/',Unread,name='Unread')
我的观点:
def Unread(request):
count=request.body['count']
print("hello")
print("count status ",count)
我也尝试过request.POST来获取价值,但现在可以正常工作了。我真正想要的是从JS获取``计数''到我的视图,但是它没有发生,即使'hello'也没有被打印出来,甚至没有与JS有关。我对django和JS都是陌生的,所以我不确定自己做错了什么。 在此先感谢:)
答案 0 :(得分:0)
正如评论者所提到的,您应该仔细检查以确保POST不会因CSRF原因而失败。如果确定不是,则可以使用request.POST
访问表单编码的帖子变量,而不要使用request.body
。
def Unread(request):
count=request.POST['count']
print("hello")
print("count status ",count)