我通过ajax向django发送2D列表
这是我发送ajax请求的功能
var tid = $(document).find(".table-box a").data("tid")
var newFood = [];
$('#order_table td.food_name').filter(function() {
return $(this).data('status') == 'new';
}).each(function() {
newFood.push( [$(this).text(), $(this).siblings('.quantity').text(), $(this).siblings('.price').text()] );
});
// This will create a 2D array like this [['food_name1','1','$10.00'],['foodname2', '2', '$11.00']]
$.ajax({
type: "POST",
url: $(this).data('url'),
data: {tid:tid, newFood:newFood},
success: function success(data){
alert("Success")
},
});
我在django打印request.POST
我得到了
<QueryDict: {u'tid': [u'12'], u'newFood[0][]': [u'chick noodle', u'1', u'$2.00'], u'newFood[1][]': [u'Beef Rice', u'1', u'$29.00']}>
当我打印request.POST.get('newFood[0][]')
时,我得到了
$2.00
我也试过request.POST.getlist('newFood[0]')
,但我得到空列表
[]
有关如何解决此问题的任何想法?我怎样才能逐一检索每个项目?
答案 0 :(得分:0)
我就是这样做的。
for i,j in request.POST.items():
print i, request.POST.getlist(i)
我可以打印关键i = newFood [i] []并列出j = [&#39;食物&#39;,&#39;数量&#39;,&#39;价格&#39;]
答案 1 :(得分:0)
这就是我的解决方法
for i in range(RowNum):
data = request.GET.getlist(f'newFood[{i}][]')
print (data[0] +' , ' + data[1]+','+data[3])
其中RowNum是2d数组中的行(高度)数。 data [i]是每行(宽度)中的元素。希望对您有所帮助