我有一个像这样的jquery POST函数:
$.post(data_send_url,
{
all_letters:["A","B","C"]
},
function(data, status){
alert(data);
});
在服务器端,当我使用request.data
中的Django view function
访问它时,我得到了
<QueryDict: {'all_letters[]': ['e', 'r', 'p']}>
。如何获得像all_letters = ['e','r','p']
这样的Python列表?
答案 0 :(得分:2)
这段代码解决了我的问题:
$.post(data_send_url,
{
all_letters:JSON.stringify(["A","B","C"]), //JSON.stringify added
},
function(data, status){
alert(data);
});
并在views.py
中json.loads(request.data.get("all_letters"))
json.loads(request.POST["all_letters"]) #both of these work fine
答案 1 :(得分:1)
您可以尝试stringify
array
并在此之后使用json.loads
吗?
$.post(data_send_url,
{
all_letters: JSON.stringify(["A","B","C"])
},
function(data, status){
alert(data);
});
# and after this use json.loads
import json
print(json.loads(request.data['all_letters']))
答案 2 :(得分:0)
尝试all_letter []&#39;如下所示:
request.data["all_letters[]"]
这可能会起作用,否则尝试在JS代码中正确构造querydict并尝试访问它。