我使用ajax将数组数据传递给Django(Python 3.5下的1.10)视图以进行进一步处理。但是,我注意到传递不成功,导致无。我想知道我哪里出错了,任何人都可以建议解决这个问题。非常感谢。详情如下:
Ajax查询将数组final_ele传递给视图作为变量final_ele_view:
$.ajax({
url: "../exportNews/",
method: "POST",
data:
{
final_ele_view: 'final_ele',
csrfmiddlewaretoken: '{{ csrf_token }}'
}
});
然后在urls.py中:
urlpatterns = [
url(r'^admin/exportNews/', views.exportNews),
...
然后在views.exportNews中:
from annoying.decorators import ajax_request
@ajax_request
@csrf_protect
def exportNews(request):
arr_tag = request.POST.getlist('final_ele_view[]')
return HttpResponse(arr_tag)
顺便说一下,我只注意到一件事。即使在ajax中我也要求POST方法,但在views.py中显示该方法实际上是GET(通过使用返回HttpResponse(request.method))。这是错误的原因,为什么会发生这种情况?
答案 0 :(得分:0)
为什么[]
位于fiinal_ele_view[]
的末尾?我打赌从请求返回的QueryDict
.POST不知道如何处理方括号,因为这是无效的Python语法。