Python 将复选框数组从js发送到django视图

Python 将复选框数组从js发送到django视图,python,arrays,json,ajax,django,Python,Arrays,Json,Ajax,Django,我不知道如何通过Ajax或Json实现这一点,但是如何在单击时将选择数组(curCheck)发送到Django视图,并将其作为python数组接收呢 javascript document.getElementById('results').addEventListener('click', function(){ html_table = '<thead><tr><th>Currency</th><th>Amount</

我不知道如何通过Ajax或Json实现这一点,但是如何在单击时将选择数组(curCheck)发送到Django视图,并将其作为python数组接收呢

javascript

document.getElementById('results').addEventListener('click', function(){
    html_table = '<thead><tr><th>Currency</th><th>Amount</th><th>Symbol</th>><tr/><thead/>'
        var checkElements = document.getElementsByClassName('ch');
        for(var i =0; i< curname.length; i++){
            if (checkElements[i].checked) {
            var curChecked = curname[i];
            var JsonArr = JSON.stringify(curChecked);
            postcurChecked(JsonArr)
            html_table += '<tr><td>' + curname[i] + '</td>';
            }
}
document.getElementById('result_table').innerHTML = html_table;
},false;
在django

def currencyChecked(request): 
    body_unicode = request.body.decode('utf-8') 
    body_unicode = body_unicode.replace('%22','') 
    print(body_unicode) json_data = json.loads(body_unicode.read())
我希望看到python数组打印,以查看它是否被传递到后面

但我一直在犯这样的错误:
json_data=json.loads(body_unicode.read())AttributeError:'str'对象没有属性'read'

要获取选中的复选框值并使用ajax作为数组发送,可以像下面这样使用jquery:

selected_photo = request.GET.getlist('favorite[]')
假设您有多个复选框和一个按钮

<input type="checkbox" name="imageName">
<input type="checkbox" name="imageName">
.......
<button id="deletePhoto">Delete</button>
在视图中,可以获得如下数组:

selected_photo = request.GET.getlist('favorite[]')

您不需要使用
request.body
并对其进行解码,只要
request.POST.get('checkbox')
应该是您想要的json字符串。为什么
read()
?只要
json.load(request.POST['checkbox'])
就可以了。@dirkgroten非常感谢您!这完全奏效了。这里的学习者,这就是为什么!:D
selected_photo = request.GET.getlist('favorite[]')