Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅使用JavaScript/jQuery在网页中下载JSON文本文件_Javascript_Jquery_Json_File_Html - Fatal编程技术网

仅使用JavaScript/jQuery在网页中下载JSON文本文件

仅使用JavaScript/jQuery在网页中下载JSON文本文件,javascript,jquery,json,file,html,Javascript,Jquery,Json,File,Html,我有一个在我的机器上本地运行的网页,只有JavaScript和HTML5本地存储(不需要Web服务器)。我已经准备好只使用JavaScript将JSON/纯文本文件上传到网页,并将其转换为JavaScript对象,以便我的网页可以使用它。现在我只需要一种方法将对象导出回JSON文本,然后让用户仅使用纯JavaScript/HTML保存/备份数据 到目前为止,示例代码是: var obj = { id: 24, name: 'Jack Bauer' }; var jsonText

我有一个在我的机器上本地运行的网页,只有JavaScript和HTML5本地存储(不需要Web服务器)。我已经准备好只使用JavaScript将JSON/纯文本文件上传到网页,并将其转换为JavaScript对象,以便我的网页可以使用它。现在我只需要一种方法将对象导出回JSON文本,然后让用户仅使用纯JavaScript/HTML保存/备份数据

到目前为止,示例代码是:

var obj = {
    id: 24,
    name: 'Jack Bauer'
};
var jsonText = JSON.stringify(obj);
现在假设有一个按钮显示Export/Backup,如何让用户仅使用JavaScript/HTML将jsonText保存为硬盘上的文件


非常感谢

你肯定不能那样做。command document.execCommand('saveas',blah,blah)将保存当前网页(不是您用javascript指定的内容),除此之外,无法仅从javascript获取“另存为”对话框

其他一些选择:

  • 使用本地存储
  • 用饼干
  • 在文本区域/提示对话框/etc中显示jsontext并询问用户 复制并保存到某个地方(恶心!)
  • 将jsontext发送到(例如)php服务器,添加内容配置 标题以显示另存为对话框

我认为,如果您将
应用程序/octet-stream
作为内容类型来提供该文件,它将起作用。您需要配置您的Web服务器来执行此操作