下载Json作为文件:IE-11抛出414 Request-URI太大

时间:2016-04-25 13:21:42

标签: javascript json internet-explorer-11

我正在尝试将json对象下载为cvs文件。这个JSON对象实际上是由浏览器本身的Java对象构成的。我没有解雇任何网络请求 它在Chrome中工作正常,但IE-11在Network-> Response选项卡中低于错误。

<!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

我在javascripts中的代码如下:

  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 个答案:

答案 0 :(得分:1)

我担心你能以这种方式做到这一点。 Microsoft Internet Explorer的URI为limit up to 2048 characters

相反,您应该更好地从不同的页面提供此CSV并指向IE以从那里获取或使用msSaveOrOpenBlob示例:

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

*仅适用于IE 10及以上版本