Django:使用Ajax将数组数据传递给视图

时间:2017-01-12 17:54:04

标签: arrays ajax django python-3.x post

我使用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))。这是错误的原因,为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

为什么[]位于fiinal_ele_view[]的末尾?我打赌从请求返回的QueryDict .POST不知道如何处理方括号,因为这是无效的Python语法。