如何在视图 Django 中接收 AJAX POST 数据?

时间:2021-08-01 19:59:08

标签: django ajax post view get

所以我有一个名为 Print Label 的按钮,单击该按钮时应将一些数据发送到视图,然后我的视图应在 html 页面中显示该数据。到目前为止,似乎我已经能够保存数据,因为我可以使用使用 JS 的警报方法看到它。但是,当我使用 AJAX 发布此数据时,似乎数据没有通过,因为我的视图无法识别 POST 调用(我收到了 404 页面)。

查看网址:

    path('label/', plabel, name="label.html"),

保存点击功能数据:

    $("#table").on('click','.btn-outline-primary',function(){
        // get the current row
        var currentRow=$(this).closest("tr"); 
        
        var col1=currentRow.find("td:eq(0)").html(); // get current row 1st table cell TD value
        var col2=currentRow.find("td:eq(1)").html(); // get current row 2nd table cell TD value
        var col3=currentRow.find("td:eq(2)").html(); // get current row 3rd table cell  TD value
        var col4=currentRow.find("td:eq(3)").html();
        var col5=currentRow.find("td:eq(4)").html();
        var col6=currentRow.find("td:eq(5)").html();
        var col7=currentRow.find("td:eq(6)").html();
        var col8=currentRow.find("td:eq(7)").html();
        var col9=currentRow.find("td:eq(8)").html();
        var col10=currentRow.find("td:eq(9)").html();
        var col11=currentRow.find("td:eq(10)").html();
        var col12=currentRow.find("td:eq(11)").html();
        var col13=currentRow.find("td:eq(12)").html();
        var col14=currentRow.find("td:eq(13)").html();
        
        var mydata= [col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14];

AJAX 调用:

    $.ajax({
            url: "/label/",
            type: "POST",
            data:{
                csrfmiddlewaretoken: '{{ csrf_token }}',
                mydata: mydata},
            });
    alert(mydata); //this is showing my data has been saved

Picture of alert

查看代码:

    def plabel(request):
   
        if request.method == "POST":
            printlabeldata = request.POST.get('mydata' , '')
            return render(request, "label.html", {'pdata': printlabeldata})
        else:
            raise Http404

任何帮助将不胜感激!

0 个答案:

没有答案