【问题标题】:How to push data to external JSON file (Using jQuery)?如何将数据推送到外部 JSON 文件(使用 jQuery)?
【发布时间】:2018-01-25 11:24:09
【问题描述】:

我想使用 jQuery 将数据推送到外部本地 JSON 文件中的数组。

有什么想法吗?

我试过这个:

$.getJSON('test.json', function(data) {
data.push('Something');
});

并且它不会被推送到本地 JSON 文件中

【问题讨论】:

  • 你的意思是本地 json 文件?
  • 是的,我的意思是
  • 你尝试过什么来达到你想要的结果?你对你的问题的研究表明了什么?你能提供你的尝试代码吗? How do I ask a good questionHow much research effort is expectedHow to create a Minimal, Complete, and Verifiable example 可能有助于改善您的问题。
  • @VigneshRaja 你知道怎么做吗?
  • @AyadHussein jQuery 不适用于在本地加载/写入任何文件。浏览器强制执行与访问本地文件系统的安全相关的限制(这是非常正确的)。即使您关闭了浏览器的这些限制,这些工具也不是适合这项工作的工具。

标签: javascript jquery


【解决方案1】:

您可以使用 node.js(或 multitude of other languages/platforms)在 JavaScript 中执行此操作,但不能使用浏览器和 jQuery。

这里是read and write a json file in node.js的方法

另一方面,用户可以将 JSON 文件上传到您的服务器,您可以在其中修改结构并将修改后的 JSON 文件作为下载发送回给他们。

【讨论】:

    【解决方案2】:

    无法使用 Javascript 编写文件(可能通过 xss、csrf 导致安全问题..)

    不,JavaScript 无权写入文件,因为这将是一个巨大的 至少可以说是安全风险。如果您想获取/存储信息服务器- 不过,您当然可以对 PHP/ASP/Python/等进行 Ajax 调用。 然后可以在服务器中获取/存储数据的脚本。如果您的意思是存储数据 在客户端机器上,仅使用 JavaScript 是不可能的。我猜测 Flash/Java 可能可以,但我不确定。

    如果您只想存储少量信息 不可靠 关于特定用户的时间段,我认为您需要 cookie。我不是 不过,从您的问题中确定您要完成的工作。

    Read/write to file using jQuery

    【讨论】:

      【解决方案3】:

      您无法访问本地客户端计算机中的文件。可能是为了开发设置,你可以做到。但在您需要重新启动浏览器之前设置file-access 标志。

      can see my answer here 描述了设置了标志的打开浏览器设置。

      然后,您可以使用以下代码读取数据。

      var data = [];
      var url = "/Users/Vignesh/Desktop/test.json";
      var req = new XMLHttpRequest();
      req.open("GET",url,true);
      req.onreadystatechange=function(){
          if(req.readyState === 4)
          {
              data = JSON.parse(req.responseText);
          }
      };
      req.send();
      

      要写入文件,您可以look into this。 (不确定它是否有效)

      【讨论】:

        猜你喜欢
        • 2016-01-12
        • 2016-06-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-05
        • 1970-01-01
        • 2018-05-17
        相关资源
        最近更新 更多