Comment mettre à jour les données dans un fichier json en AngularJS?
Je suis en utilisant $ressource.query() pour récupérer un tableau JSON à partir d'un fichier JSON. Je peux modifier les données avec $sauver, mais le fichier JSON n'est pas réellement mis à jour. Ne pouvez pas trouver des solutions après googler pour toute la matinée. Vous ne savez pas si il est possible de mettre à jour locale du fichier json avec AngularJS. Toute aide serait appréciée.
Voici mon code.
getData: function(datatype){
var url = "data/" + datatype + ".json";
return $resource(url, {}, {
query: {
method: "GET",
isArray: true
}
});
},
Appel de la fonction getData() dans une autre fonction de service:
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;
}
}
});
});
emplois.json:
[
{
"id": 554114,
"name": "names and numbers",
"facility_id": 0
},
...
]
Vous devez vous connecter pour publier un commentaire.
Ce Stackoverflow question et la réponse pourrait être de quelque utilité pour vous: Modifier un fichier à l'aide de javascript
En bref; Javascript généralement ne peut pas écrire dans un fichier, sauf si vous faites un post de retour à un serveur qui peut ensuite faire la mise à jour de votre fichier json.
Espère que cette aide.
La réponse ci-dessus par Chris ne semble pas être sur le point. La question initiale est d'environ Enregistrer à l'aide angulaire de dollars de ressources. Pas si javascript peut écrire dans un fichier.
$ressource "Post" défini déjà sur elle. Donc un $ressource.save() appelée correctement fera le poste d'appel au serveur. Sur le serveur vous avez encore le besoin d'écrire du code pour préserver les données publiées. Mais la ligne de fond est de $de ressources permet à la Poste.
shaosh semblent avoir des problèmes avec l' $ressource.enregistrer
post est votre ressource. Pas post(i)
Si vous n'avez pas à faire un
au lieu de poster[i].$save() ?