Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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 如何在AngularJS中更新json文件中的数据?_Javascript_Json_Angularjs - Fatal编程技术网

Javascript 如何在AngularJS中更新json文件中的数据?

Javascript 如何在AngularJS中更新json文件中的数据?,javascript,json,angularjs,Javascript,Json,Angularjs,我使用$resource.query()从JSON文件获取JSON数组。我可以使用$save更改数据,但JSON文件实际上没有更新。在谷歌上搜索了一上午后找不到解决方案。不确定是否可以使用AngularJS更新本地json文件。任何帮助都将不胜感激 这是我的密码 getData: function(datatype){ var url = "data/" + datatype + ".json"; return $resource(url, {}, { query

我使用$resource.query()从JSON文件获取JSON数组。我可以使用$save更改数据,但JSON文件实际上没有更新。在谷歌上搜索了一上午后找不到解决方案。不确定是否可以使用AngularJS更新本地json文件。任何帮助都将不胜感激

这是我的密码

getData: function(datatype){
    var url = "data/" + datatype + ".json";
    return $resource(url, {}, {
        query: {
            method: "GET",
            isArray: true
        }
    });
},
在另一个服务函数中调用getData()函数:

var post = this.getData("jobs").query(function(){               
    angular.forEach(staffs, function(staff){
        for(var i = 0; i < post.length; i++){
            if(post[i].id == jobId){
                alert(post[i].name); //Here it shows the original name "names and numbers"
                post[i].name = "changed";
                post[i].$save();    
                alert(post[i].name); //Here it shows the new name "changed"
                                     //but the data json file is not changed
                continue;
            }
        }
    });
});
帖子是你的资源。非员额(一)

所以你不需要做一个

      post.$save(); 

此Stackoverflow问题和答案可能对您有所帮助,而不是发布[i].$save()?

简言之;Javascript通常无法写入文件,除非您向服务器发回帖子,然后服务器可以更新json文件


希望这能有所帮助。

以上克里斯的回答似乎不中肯。最初的问题是关于使用angular的$resource进行保存。不是javascript是否可以写入文件

$resource已在其上定义了“Post”。因此,正确调用$resource.save()将对服务器进行回发调用。在服务器上,您仍然需要编写代码来保留发布的数据。但底线是$resource-allows-Post


shaosh似乎对$resource.save有问题。我已经试过post.$save()。它会停止程序,并且“alert(post[i].name)”永远不会执行。很高兴知道这一点。非常感谢。实际上,他说的是写入一个文件:“我可以用$save更改数据,但JSON文件实际上没有更新”。
      post.$save();