我正在尝试向 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 数据。