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