Csrf令牌在按钮点击时没有处理帖子数据但是按钮提交(表单提交)没关系

时间:2014-02-03 07:04:14

标签: python django django-csrf

如何通过底部点击进行跨网站恢复?请帮我   function DisplaySeatLayout(ticketClassId,theatreId){

          $(".tblDetails").show();
          var showId = 7;
          var filmId = 75;
          var theatreId = theatreId;
          var ticketClassId = ticketClassId;

          $.ajax({
              type: "POST",
              url: "/FetchSeatLayout",
              cache: true,
              async: false,
              data: "{showId:" + showId + ", theatreId:" + theatreId + ",filmId:" + filmId + ",ticketClassId:" +                        ticketClassId + ",csrfmiddlewaretoken: '{{ csrf_token }}'}",

              contentType: "application/json",
              dataType: "json",
              success: function (data) {
                  $("#divSeatLayout").empty().html(data.d.seatLayout); // Load Seat Layout 

              },
              error: function (request, status, error) {
                  alert(request.responseText);



              }
          });

      }

1 个答案:

答案 0 :(得分:1)

问题不是很简洁,所以我只能给出一个通用的答案,让你朝着正确的方向前进。

确保您的帖子数据包含名为csrfmiddlewaretoken的字段。提交表单时,所有字段都以多部分/后期数据的形式提交。 HTML表单将包含以下内容:

<input type='hidden' name='csrfmiddlewaretoken' value='......' />

将csrfmiddlewaretoken添加到帖子词典。

由于您使用的是按钮,因此应确保csrfmiddlewaretoken也包含在该帖子中。或者,如果您不需要跨会话请求保护,则可以使用@csrf_exempt修饰视图。