javascript - 使用 javascript 下载 url 文件而不是打开文件
问题描述
我想使用 javascript/jquery 从服务器下载文件。
当按下按钮时,服务器会响应我要下载的 url 文件。
按钮:
<a class="btn btn-primary" id="exportInvoice">Export XML</a>
ajax 请求:
$('#exportInvoice').on('click', function () {
$.ajax({
type: 'POST',
dataType: 'json',
url: '{{ route('export-xml') }}',
data: {dateRange: dateRange},
success: function (resp) {
if(resp.error){
// error
alert(resp.msg);
} else {
// success
alert(resp.msg);
window.location=resp.url;
}
}
});
})
我正在使用 laravel 5.7 刀片生成 url。
当我单击按钮时,文件将打开而不是下载(因为 window.location=resp.url;
我在想......在进行ajax调用之后(成功响应时)......将下载属性和href设置为链接......但是我需要再次调用click事件来下载文件。
我怎样才能下载文件而不是打开???
解决方案
window.location.href = resp.url
这将在同一页面开始下载,就像您单击没有任何目标的链接时一样_self
。
推荐阅读
- azure - Azure Devops 无法禁用“新服务连接体验”
- azure - Azure Function 在执行期间关闭
- turing-machines - TOC 程序 A,当给定任何程序 B 作为输入时,可以确定 B 是否产生“hello world”
- docker - Docker compose env 变量未替换
- r - 根据数据框的名称列出数据框(按名称调用数据框)
- netlogo - 如何将具有随机值的属性分配给海龟?
- java - QueryDsl - 创建一个谓词来检查 localdate 是否是当前周的一部分
- c - 在linux中使用strchr查找绝对路径
- shopify-app - 根据商品编号打印不同商品的折扣值
- swift - Swift SceneKit 也不是圆形球体