0

我正在尝试向 django 执行一个简单的帖子,该帖子将接受一个变量,然后将用户重定向到另一个页面。现在,我的 javascript 看起来像这样:

$.ajax({ 
  type: "POST",
  url: "{% url unity.survey.views.post %}",
  data: {  // <-- error here?
    'order' : '1', 
    'csrfmiddlewaretoken': '{{ csrf_token }}' 
  },
  success: function(datas) {
    if (datas.redirect) {
      window.location.href = data.redirect;
    }

  }
  });
 };

我在 django 中的相应视图如下所示:

def post(request, *args, **kwargs):
  if 'order' in request.POST:
    order = request.POST['order']
  else:          
    return redirect('unity.survey.views.login')

  .... some calculations with order ....
  return render_to_response(
     'template.html', 
      some_dictionary, 
      context_instance=RequestContext(request)
  )

出于某种原因,似乎没有向视图发送任何内容。查看 Firefox 的 Web 控制台,我看到:

[07:31:12.414] POST http://127.0.0.1/unity/ survey/ [undefined 17ms]
[07:31:12.422] GET http://127.0.0.1/unity/survey/ [HTTP/1.1 302 FOUND 73ms]
[07:31:12.497] GET http://127.0.0.1/unity/survey/login [HTTP/1.1 200 OK 177ms]

无论我做什么,它都会将我重定向到登录页面。我尝试使用 .post 而不是 .ajax,但结果相同。知道为什么会这样吗?我有一个类似的功能,它工作得很好,但由于某种原因,我无法让它工作。看起来好像没有发送 POST 数据。

4

0 回答 0