Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过ajax向django发送数组_Javascript_Python_Json_Django_Post - Fatal编程技术网

Javascript 通过ajax向django发送数组

Javascript 通过ajax向django发送数组,javascript,python,json,django,post,Javascript,Python,Json,Django,Post,我正试图通过AJAX POST将Javascript数组发送到django视图 我使用JSON.stringify将此数组存储在隐藏输入中: $('#id_uuids').val(JSON.stringify(arr)); 以下是我尝试发送它的方式: $.post("/ajax/generateGallery",{uuids: $('#id_uuids').val()},function(response){ resp = JSON.parse(response); alert

我正试图通过AJAX POST将Javascript数组发送到django视图

我使用JSON.stringify将此数组存储在隐藏输入中:

$('#id_uuids').val(JSON.stringify(arr));
以下是我尝试发送它的方式:

$.post("/ajax/generateGallery",{uuids: $('#id_uuids').val()},function(response){
    resp = JSON.parse(response);
    alert(resp.html);
},"json");
浏览器控制台显示正在发送的数据如下所示:

uuids:["6ecbe35b-0b77-4810-aa9a-918fecaeef13","e41f52f7-721b-4d44-b7d6-bbb275182d66"]
但是,我无法在django视图中使用此选项。我试过:

uuids = request.POST.getlist('uuids')
logger.info(uuids)
logger.info(type(uuids))
返回:

[08/Aug/2014 15:20:00] INFO [app.rest_client:307] [u'["89a26646-6000-4c48-804a-69abcc496fd8"]']
[08/Aug/2014 15:20:00] INFO [app.rest_client:308] <type 'list'>
[08/Aug/2014 15:20:00] INFO [app.rest_client:312] Generate HTML gallery for photo ["89a26646-6000-4c48-804a-69abcc496fd8"]
[08/Aug/2014 15:20:00]信息[app.rest_客户:307][u'[“89a26646-6000-4c48-804a-69abcc496fd8”]
[08/Aug/2014 15:20:00]信息[应用程序rest\u客户端:308]
[08/Aug/2014 15:20:00]信息[app.rest_客户端:312]生成照片的HTML图库[“89a26646-6000-4c48-804a-69abcc496fd8”]

所以,Django将发送的列表视为单个元素。如何强制python代码将此数据视为列表并能够进行迭代?

尝试对发布的数据进行JSON解码

uuids = json.loads(request.POST.get('uuids'))
也就是说,如果您之前加载了一些json模块,例如

import simplejson as json

问题是您将数组字符串化,并将其作为字符串提交,这不是Django的问题,而是如何在JS中处理值。