如何在my django views函数中从Ajax POST获取数据?

如何在my django views函数中从Ajax POST获取数据?,django,Django,为什么我还有: [2013年11月30日14:47:52]“POST/folder/HTTP/1.1”403 2294 在日志中?您始终可以在请求中访问它。POST变量 文档: 在js代码中,您应该修复的另一件事是数据参数。 jQuery文档声明如下:对象必须是键/值对 关于更新的问题 您收到403,因为您没有发送csrf令牌。 如果在中间件类中启用了'django.middleware.csrf.CsrfViewMiddleware',则需要将{%csrf\u token%}放入表单模板中,然

为什么我还有:

[2013年11月30日14:47:52]“POST/folder/HTTP/1.1”403 2294


在日志中?

您始终可以在
请求中访问它。POST
变量
文档:

在js代码中,您应该修复的另一件事是
数据
参数。
jQuery文档声明如下:
对象必须是键/值对

关于更新的问题
您收到403,因为您没有发送
csrf
令牌。
如果在中间件类中启用了
'django.middleware.csrf.CsrfViewMiddleware'
,则需要将
{%csrf\u token%}
放入表单模板中,然后通过js将其与数据一起发送

如下所示:
data:{'name':name'csrfmiddlewaretoken':$('input[name=“csrfmiddlewaretoken”])。val()

有没有简单的方法来解决这个问题?在我的情况下,如何发送
csrf
令牌?这不是标准form@netman97您可以使用djagno模板变量{{csrf_-token}}数据:{name:name,csrfmiddlewaretoken:{{csrf_-token}}传递csrf-token,
$(document).ready(function(){  
  $('.addFolder input').keydown(function(e) {
    if (e.keyCode == 13) {
        name = $(this).val();
        $.ajax({
          type: "POST",
          url: "/folder/",
          data: name,
            success: function(result) {
              $('.folders ul li:first-child').after('<li class="bg-color-2 ui-droppable" data-folderid="2">'+name+' <span>0</span></li>');
              $('.addFolder input').val('');
            }
        });
    }
  });
  <div class="addFolder">
    <span>+</span>
    <input type="text" placeholder="Folder's name">

  </div>
def folder(request):
    user = request.user
    if request.method == "POST" and request.is_ajax():
        name = request.POST['name']
        f = Folder.objects.create(name=name, user=user)
        status = "Good"
        return HttpResponse(status)
    else:
        status= "Bad" 
        return HttpResponse(status)