Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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 使用django 1.10.5的Ajax Post请求错误_Jquery_Python_Ajax_Django_Django Views - Fatal编程技术网

Jquery 使用django 1.10.5的Ajax Post请求错误

Jquery 使用django 1.10.5的Ajax Post请求错误,jquery,python,ajax,django,django-views,Jquery,Python,Ajax,Django,Django Views,在过去一周左右的时间里,我一直在努力实现jQuery ajax请求,将数据从annualgoals.html中的javascript函数传递到django视图,以便将数据保存到数据库中。目前,我正试图通过在django端打印数据来测试数据传输 我已经检查了以下线程,但没有看到任何显示与我所看到的相同错误的线程(我几乎肯定遗漏了一些明显的错误) 虽然缺少CSRF令牌是我的第一个问题,但是StackOverflow和django文档的答案很好地解释了必须做些什么来确保包含CSRF令牌。但是,当遵

在过去一周左右的时间里,我一直在努力实现jQuery ajax请求,将数据从annualgoals.html中的javascript函数传递到django视图,以便将数据保存到数据库中。目前,我正试图通过在django端打印数据来测试数据传输

我已经检查了以下线程,但没有看到任何显示与我所看到的相同错误的线程(我几乎肯定遗漏了一些明显的错误)

虽然缺少CSRF令牌是我的第一个问题,但是StackOverflow和django文档的答案很好地解释了必须做些什么来确保包含CSRF令牌。但是,当遵循建议的步骤时,我收到以下django错误:

响应。设置cookie(settings.CSRF\u cookie\u名称, AttributeError:“非类型”对象没有属性“set\u cookie”

我的代码如下:

annualgoals.html

function getCookie(name) {
          var cookieValue = null;
          if (document.cookie && document.cookie !== '') {
              var cookies = document.cookie.split(';');
              for (var i = 0; i < cookies.length; i++) {
                  var cookie = jQuery.trim(cookies[i]);
                  // Does this cookie string begin with the name we want?
                  if (cookie.substring(0, name.length + 1) === (name + '=')) {
                      cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                      break;
                  }
              }
          }
          return cookieValue;
      }

function csrfSafeMethod(method) {
          // these HTTP methods do not require CSRF protection
          return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
      }

var data = [1, 2, 3, 4]
var csrftoken = getCookie('csrftoken');

// Ajax Setup

    $.ajaxSetup({
       beforeSend: function(xhr, settings) {
          if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
                    xhr.setRequestHeader("X-CSRFToken", csrftoken);
                }
          }
    });

 // Ajax Call

    $.ajax({
      type: 'POST',
      url: "{% url 'LifeAdmin:saveAnnualGoals' %}",
      data: {'data[]': data},
    });
url.py

url(r'^saveAnnualGoals$', views.saveAnnualGoals, name='saveAnnualGoals')
我正在使用Django 1.10.5和Python 3.6.1

任何帮助都将不胜感激


谢谢:)

您的视图需要返回响应。对于实际代码,视图不返回任何内容,因此
None
。Django然后尝试将cookie添加到响应中,但由于没有cookie,因此会收到您发布的错误消息

例如:

return HttpResponse(status=200)

请尝试
@确保\u csrf\u cookie
装饰器用于查看,该装饰器用于呈现页面,用户将从中发出ajax-request。非常感谢!真不敢相信事情竟如此简单!:)
return HttpResponse(status=200)