簡體   English   中英

通過ajax將數組發送到Django

[英]Sending array to django via ajax

我試圖通過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"]

因此,Django非常將發送的列表視為單個元素。 如何強制python代碼將此數據視為列表並可以迭代?

嘗試對發布的數據進行JSON解碼

uuids = json.loads(request.POST.get('uuids'))

也就是說,如果您之前加載了一些json模塊,例如

import simplejson as json

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM