将变量从js传递到Django视图

时间:2019-03-02 03:31:19

标签: javascript ajax django

我正在尝试将页面上的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都是陌生的,所以我不确定自己做错了什么。 在此先感谢:)

1 个答案:

答案 0 :(得分:0)

正如评论者所提到的,您应该仔细检查以确保POST不会因CSRF原因而失败。如果确定不是,则可以使用request.POST访问表单编码的帖子变量,而不要使用request.body

def Unread(request):
    count=request.POST['count']
    print("hello")
    print("count status ",count)
相关问题