2016-04-25 99 views
1

我想下載json對象作爲cvs文件。這個JSON對象實際上是由瀏覽器本身的Java對象構成的。我沒有發起任何網絡請求獲取。
它在Chrome中正常工作,但IE-11在Network-> Response選項卡中拋出錯誤。下載Json文件:IE-11投擲414請求URI太大

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
<html><head> 
<title>414 Request-URI Too Large</title> 
</head><body> 
<h1>Request-URI Too Large</h1> 
<p>The requested URL's length exceeds the capacity 
limit for this server.<br /> 
</p> 
<hr> 
<address>Omniture DC/2.0.0 Server at *.112.2O7.net Port 80</address> 
</body></html> 

在控制檯中,我得到了這個。

The code on this page disabled back and forward caching. For more information, see: http://go.microsoft.com/fwlink/?LinkID=291337 

我的JavaScript中的代碼如下:

var fileName = "Group Assignment"; 
     var uri = 'data:text/csv;charset=utf-8,' + escape(CSV); 
     var link = document.getElementById('download-as-csv'); 
     link.href = uri; 
     link.download = fileName + ".csv"; 
     link.innerHTML = 'Download as CSV'; 

回答

1

我怕你能做到這樣。 Microsoft Internet Explorer對URI有一個limit up to 2048 characters

相反,它應該會更好,你從diferent頁面服務於這個CSV並指出IE從那裏得到或使用msSaveOrOpenBlob例如:

navigator.msSaveOrOpenBlob(new Blob(CSV.split('')), { type: 'text/csv' }), fileName + ".csv"); 

*只能從IE 10以上

+0

確定,然後我怎麼做? – Ahmad

+0

我已經更新了我的答案 – Cleiton

+0

非常好,所以我在download-as-csv元素的點擊事件中編寫這個代碼?請原諒我的忍耐 – Ahmad

相關問題