首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jQuery下载json对象作为json文件

使用jQuery下载json对象作为json文件
EN

Stack Overflow用户
提问于 2015-10-22 00:36:13
回答 1查看 8.6K关注 0票数 6

我正在寻找下载字符串json对象作为文件的方法。

在这个小提琴例子中,我确实有一个解决方案:

小提琴

我的工作版本是这样的

代码语言:javascript
运行
复制
    From data attribute of span:
    <span id="a-data"></span>
    <span id="obj-data" data-obj2='{"obj-1": "text-1","obj-2": "text-2","obj-3": "text-3"}'></span>

JavaScript

代码语言:javascript
运行
复制
    var obj = $("#obj-data").data("obj2");
    var data = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj));
    $('<a href="data:' + data + '" download="data.json">Download Me</a>').appendTo("#a-data");

我希望我可以使用这个HTML。你能提出一个办法来解决这个问题吗?

代码语言:javascript
运行
复制
From data attribute of self:
<div id="data" data-obj='{"obj-1": "text-1","obj-2": "text-2","obj-3": "text-3"}'>
    Download Me
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-22 00:51:52

尝试用"application/json"代替"text/json",在DOM元素a上调用.click(),在click处理程序中删除a

代码语言:javascript
运行
复制
$("#data").click(function() {
  $("<a />", {
    "download": "data.json",
    "href" : "data:application/json," + encodeURIComponent(JSON.stringify($(this).data().obj))
  }).appendTo("body")
  .click(function() {
     $(this).remove()
  })[0].click()
})
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div id="data" data-obj='{"obj-1": "some text","obj-2": "text-2","obj-3": "text-3"}'>
    Download Me
</div>

jsfiddle http://jsfiddle.net/kda2rdLy/

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33271555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档