javascript按钮下载文件

时间:2014-10-16 21:25:53

标签: javascript jquery html json download

我想通过按下按钮下载JSON(或XML)文件。在HTML中我定义:

<a id="exportJSON" onclick="exportJson()" class="btn"><i class="icon-download"></i> export json</a>

在JavaScipt中,我有以下代码:

function exportJson() {
   var obj = {a: 123, b: "4 5 6"};
   var data = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj));
   // what to return in order to show download window?
}

我找到了very nice answer in Stackoveflow,但我无法将其调整为我的问题,主要是显示下载窗口。我不想在页面的某个地方创建另一个链接(如上面提到的答案,只是直接显示下载窗口)。

1 个答案:

答案 0 :(得分:6)

<强>更新

http://jsfiddle.net/2k4LtaLw/5/

将您的a更改为此

<a id="exportJSON" onclick="exportJson(this);" class="btn"><i class="icon-download"></i> export json</a>

功能

function exportJson(el) {

    var obj = {
        a: 123,
        b: "4 5 6"
    };
    var data = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj));
    // what to return in order to show download window?

    el.setAttribute("href", "data:"+data);
    el.setAttribute("download", "data.json");    
}