如何在django视图中获取ajax数据?

问题描述 投票:0回答:1

我正在尝试使用 GET 方法从 Django 视图中的 AJAX 调用检索数据。但是,我无法成功访问视图中的数据。此外,console.log 语句不会产生任何输出。作为初学者,我非常感谢有关如何正确检索和处理 Django 视图中的数据以及使用控制台日志解决问题的指导。预先感谢您。

<span class="test">yes</span>

ajax调用

   <script>
    /*
    On focus out on input nickname,
    call AJAX get request to check if the nickName
    already exists or not.
    */
    $(".test").focusout(function (e) {
        e.preventDefault();
        // get the nickname
        var text = $(this).text();
        // GET AJAX request
        console.log('test hoon')
        console.log(text)

        $.ajax({
            type: 'GET',
            url: "{% url 'dashboard' %}",
            data: {"text": text},
            success: function (response) {
                // if not valid user, alert the user
            },
            error: function (response) {
                console.log(response)
            }
        })
        
    })
</script>

视图.py

 class Dashboard(TemplateView):
        template_name = "dashboard.html"
    
        def get(self,*args, **kwargs):
            amount = self.request.GET.get('text')
            print("I m here !",amount)
            return render(amount,'dashboard.html',)
jquery django ajax django-views
1个回答
0
投票

也许你想使用 POST 方法而不是 GET,因为你正在向视图传递数据,如果可行的话试试这个

    $.ajax({
        type: 'POST',
        url: "{% url 'dashboard' %}",
        data: {"text": text},
        success: function (response) {
            // if not valid user, alert the user
        },
        error: function (response) {
            console.log(response)
        }
    })

然后在您的视图中您可以使用

self.request.POST.get('text')

访问它
© www.soinside.com 2019 - 2024. All rights reserved.