javascript按钮下载文件

Bob*_*Bob 2 html javascript jquery json download

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

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

在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?
}
Run Code Online (Sandbox Code Playgroud)

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

Boj*_*ski 6

UPDATE

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

将你的a改为此

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

功能

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");    
}
Run Code Online (Sandbox Code Playgroud)