2017-10-17 3 views
0

Comment télécharger un JSON requis à partir de l'URL de récupération?Comment télécharger Json en utilisant Fetch en JavaScript?

Le téléchargement est en XLSX.

CODE

function teste(){ 
 

 
alert(fetch ("url")   
 
.then(response => response.json()) 
 
.then(data => { console.log(data)}) 
 
    .then(response => response.blob()) 
 
     .then(blob => { 
 
      var url = window.URL.createObjectURL(blob); 
 
      var a = document.createElement('a'); 
 
      a.href = url; 
 
      a.download = "filename.xlsx"; 
 
      a.click();      
 
     }) 
 
) 
 
}

+1

Quelle est l'utilité de 'alert()'? Bien que, d'une part, le premier '.then()' ne propogue pas 'data', ce qui signifie que la seconde' .then() '' response' ne sera pas renvoyée par la seconde '.then()' – guest271314

+0

est 'non défini '. – zero298

+0

Pour faire un test, je ne sais pas si c'est correct, c'est la forme. – Jota

Répondre

0

Retirer alert(), la valeur return de .then(). Remarque Response ne peut être lu qu'une seule fois

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) 
    }) 
}