有人可以帮我解决这个问题:如何在请求到服务器发送选中的复选框(例如,它是Django,在我的情况下),然后,自动下载文件?我对常见的食谱,建议或简单的例子感兴趣。据我所知,Ajax和JS(JQuery)通常没有解决方案,因为隐私。还是我在误会?如何将请求中的选中复选框发送到服务器 - 自动下载文件
我知道如何去实现它:
HTML:
<a id="btn" href="#">Download</a>
...
<input class="select-row" type="checkbox" data-row-id="{{ item.id }}"/>
JS:
$('#btn').on('click', function() {
var checkedRows = [];
$('.select-row:checked').each(function() {
checkedRows.push($(this).data('row-id'));
});
$.ajax({
type: "POST",
url: "/request/to/view/",
data: {
passed_rows: checkedRows,
},
async: false,
}).done(function() {
console.log('The archive is downloaded.');
})
});
嗯,你可以添加一个事件到'change'复选框,然后将浏览器重定向到下载链接。这样,检查复选框后,下载将触发。这个想法听起来如何?如果你愿意,我可以帮你做个例子。 – 2015-03-02 18:52:28
是的,非常感谢你。我用一些基本代码编辑了我的帖子,因为我可以看到这个问题的决定。想法,如果我得到你的权利 - 我检查复选框,然后单击按钮,它将有关检查选项的信息发送到Django视图,然后从视图响应创建自动下载,在我的情况下,存档与复选框选择标识的文件。 – jwshadow 2015-03-02 19:13:43