如何将数据推送到外部JSON文件(使用jQuery)?

时间:2018-01-25 11:24:09

标签: javascript jquery

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

所有想法?

我试过这个:

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

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

3 个答案:

答案 0 :(得分:0)

无法使用Javascript编写文件(可能会因xss,csrf而导致安全问题..)

  

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

     

如果您只是想为一个存储少量信息   靠不住   关于特定用户的一段时间,我想你想要cookies。我不是   但是,从你的问题中确定你想要完成什么。

Read/write to file using jQuery

答案 1 :(得分:0)

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

以下是read and write a json file in node.js

的方法

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

答案 2 :(得分:0)

您无法访问本地客户端计算机中的文件。可以用于开发设置,你可以做到。但在您需要重置浏览器并设置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。 (不确定它是否正常工作)