Python 将复选框数组从js发送到django视图
我不知道如何通过Ajax或Json实现这一点,但是如何在单击时将选择数组(curCheck)发送到Django视图,并将其作为python数组接收呢 javascriptPython 将复选框数组从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</
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[]')