不用说我是新手!这里是我的js代码,它通过ajax向视图发送js对象
^{1}$firebug中发布的数据如下所示
^{pr2}$他是我的django视图.py在
def update(request):
if request.POST :
print('-------------------------------------------------')
print(request.POST)
arr = request.POST.getlist('arr', None)
print(arr)
if(arr is not None):
for k,v in arr:
print(k)
return HttpResponse('done !')
但在这一行
arr = request.POST.getlist('arr', None)
print(arr)
继续获取[]
。。。如何从POST获取arr
?在
顺便说一句,当我在控制台上打印POST时,我得到了这样的结果
<QueryDict: { 'csrfmiddlewaretoken': ['BFrb8snw8zime8UI8Vukl8FirsHvDDUk'], 'arr[adminName]': [''],
'arr[uploadSize]': [''], 'arr[adminName]': [''], 'arr[contactEmail]': [''], 'arr[siteTitle]': [''], 'arr[perPage]': ['']}>
有两件事需要注意,首先,JQuery正在扁平化您的数据结构。对于字典中的每个元素(即
arr
变量),它在QueryDict
中创建一个具有唯一键的元素。在所以
变成
^{pr2}$这和你所看到的非常吻合。但是,在您的例子中,实际上似乎并不是在用值填充数组。firebug和
QueryDict
的输出都暗示yu有一个空字典。我将研究javascript的以下行中的值另外,您使用
getlist()
是错误的,它给您一个与QueryDict中的键相关联的列表,它没有像您期望的那样给您一个字典。在您不需要研究以下内容,首先用
JSON.stringify()
序列化数组,如下所示:然后通过
您需要先将对象序列化为json字符串:
然后进来视图.py在
^{pr2}$相关问题 更多 >
编程相关推荐