我需要制作一个按钮,当我点击它时,如果我有这样的形式,我也会这样做:
<form action="myscript.php" method="post">
<input type="hidden" name="items[]" value="..." />
<input type="submit">
</form>
然后点击提交。在 PHP 方面,我使用正确的标题并强行下载。
我之所以无法在此处使用表单,是因为我有很多参数,而且在 HTML 标记中使用表单标记并不容易。而且,这些参数是动态制作的,所以......
但是,如果我只使用$.ajax
当然它不会工作,我会在这个ajax请求中得到php响应,但浏览器不会开始下载文件< / p>
有什么建议吗?
答案 0 :(得分:1)
只需重定向到下载页面,如果该页面上有正确的标题,它就不会更改它们所在的页面,只需提示下载该文件。
答案 1 :(得分:1)
简单回答:不要使用GET。改为使用POST!
<script>
var info = ""; // Somewhere for the response to go
var obj = $.post(
raw_url,
{ var1:value1, var2:value2 },
function(data) { info = data; } );
</script>
在PHP方面,您将收到任何基于数组的数据作为数组(因此,如果value2是一个javascript数组,您将在PHP中以数组形式接收它。)