如何在JavaScript中使用Fetch下载Json?
如何从获取URL下载JSON 下载是在XLSX 代码如何在JavaScript中使用Fetch下载Json?,javascript,json,fetch,Javascript,Json,Fetch,如何从获取URL下载JSON 下载是在XLSX 代码 功能测试(){ 警报(获取(“url”) .then(response=>response.json()) .then(数据=>{console.log(数据)}) .then(response=>response.blob()) .然后(blob=>{ var url=window.url.createObjectURL(blob); var a=document.createElement('a'); a、 href=url; a、 下
功能测试(){
警报(获取(“url”)
.then(response=>response.json())
.then(数据=>{console.log(数据)})
.then(response=>response.blob())
.然后(blob=>{
var url=window.url.createObjectURL(blob);
var a=document.createElement('a');
a、 href=url;
a、 下载=“filename.xlsx”;
a、 单击();
})
)
}
删除警报()
,返回中的值。然后()
。注意响应
只能读取一次
function teste() {
fetch("url")
.then(async(response) => {
let clone = response.clone();
let res = await clone.json();
console.log(res);
return response.blob()
})
.then(blob => {
var url = window.URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = "filename.xlsx";
a.click();
})
.catch(function(err) {
console.error(err)
})
}
alert()
的目的是什么?第二个没有返回值。然后()
首先,第一个。然后()
没有传递数据,这意味着第二个。然后()
的响应是未定义的。对于测试,我不知道它是否正确。@JeanCarlos注意,动态创建的
元素应附加到document.body
或DOM
中的其他现有元素,以便代码在Firefox上呈现相同的结果。Chrome,Chrome启动保存文件
对话框,而无需将动态创建的
元素显式附加到文档
。