[英]django - getlist()
我刚发布了这个问题jQuery - 在post请求中传递数组 ,我不在post请求中发送数组,但jQuery代码中没有问题。
问题是在django中接收POST请求。 我确实喜欢这个。
def portfolio_add(request):
ukeys = request.POST.getlist('ukeys')
........etc.......
但是我把ukeys值变成了u'[]'
。 当我用request.POST
检查时,我得到了值为u"<QueryDict: {u'ukeys[]': [u'68c04', u'16149']}>"
那么,如何将这些值作为Django中的列表获取?
谢谢!
带有[]
后缀的jQuery POST的数组,因为PHP和一些Web框架理解该约定,并自动为您重新构建服务器端的数组。 Django不会那样工作,但您应该能够通过以下方式访问数据:
ukeys = request.POST.getlist('ukeys[]')
我遇到了同样的问题 - Jakub是对的, []
对其他Web框架很有用,但是jQuery的行为可以改变(我不喜欢varname[]
格式)。
$.param
函数具体是这个,它还接受一个参数来覆盖这种行为。
全球变化:
// put this early in your JS, preferably the first one imported after jQuery
// or before the document.ready function if using inline js
jQuery.ajaxSettings.traditional = true;
每次通话变更:
$.param(data, true); // true sets traditional mode
// for example:
$.post('/some/url/', $.param(data, true)).done(callback)
或者当然你可以像Jakub提到的那样使用服务器上的[]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.