客户方:
$fk_fields=[];
$fk_fields.push({'a':1,'b':2});
$fk_fields.push({'a':3,'b':4});
$data = {'fk_fieldss': $fk_fields};
$.ajax({
type: "POST",
url: "../getFormMetaData/",
cache:false,
data: $data,
success: createZoomDialog,
error: displayAjaxError
});
服务器端:
fk_fields=request.POST.getlist('fk_fieldss')
print fk_fields
我尝试什么都没有成功。总是我得到一个空字符串,而其他非aray值是好的。如果我print request.POST
我在帖子中看到了值,但我无法从中得到数组。为什么呢?
以下是打印请求的外观.POST:
<QueryDict: {u'fk_fieldss[0][b]': [u'2'], u'fk_fieldss[1][b]': [u'4'], u'fk_fieldss[0][a]': [u'1'], u'fk_fieldss[1][a]': [u'3']}>
客户方:
$data = {'fk_fieldss': JSON.stringify($fk_fields)};
服务器端:
fk_fields = json.loads(request.POST['fk_fieldss'])
答案 0 :(得分:1)
您需要将数组编码为js端的json字符串,然后在django中对其进行解码:
在js
data: JSON.stringify($data),
然后在django:
fk_fields = json.loads(request.POST)['fk_fieldss']