Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery AJAX表单提交到Django类视图_Jquery_Django_Ajax - Fatal编程技术网

Jquery AJAX表单提交到Django类视图

Jquery AJAX表单提交到Django类视图,jquery,django,ajax,Jquery,Django,Ajax,我试图使用Ajax将数据提交到模型,它给出了一个403(禁止),我使用的视图是一个类视图。没有Ajax,一切正常。如何使用ajax实现同样的功能 我的网址: path('add_to_cart/<slug>', views.AddToCartView.as_view(), name='add_to_cart'), 和ajax调用 $('.buy').click(function(e){ e.preventDefault(); let _this

我试图使用Ajax将数据提交到模型,它给出了一个403(禁止),我使用的视图是一个类视图。没有Ajax,一切正常。如何使用ajax实现同样的功能

我的网址:

 path('add_to_cart/<slug>', views.AddToCartView.as_view(), name='add_to_cart'),
和ajax调用

  $('.buy').click(function(e){
        e.preventDefault();
        let _this = $(this);
        var slug = _this.data('id');

        $.ajax({
            type : 'POST',
            url : 'add_to_cart/'+ slug +'/',
            success: function(data){
                if(data.success = true){
                    _this.addClass('clicked');
                }
            },
            async : false,
            error : function(data){
                alert(data);
            }

        })

    });

当我在Ajax类型中使用'POST'而不是'GET'时,它给出了404(未找到)

您还没有在
AddToCartView
类中创建任何
POST
方法。对于
get
方法,您使用的是
LoginRequiredMixin
,但是如何通过
ajax
发送登录信息呢。你在使用代币吗?POST方法给出404
  $('.buy').click(function(e){
        e.preventDefault();
        let _this = $(this);
        var slug = _this.data('id');

        $.ajax({
            type : 'POST',
            url : 'add_to_cart/'+ slug +'/',
            success: function(data){
                if(data.success = true){
                    _this.addClass('clicked');
                }
            },
            async : false,
            error : function(data){
                alert(data);
            }

        })

    });