Je cherche à développer localement avec un simple fichier JSON codé en dur. Mon fichier JSON est le suivant (valide lorsqu'il est placé dans le validateur JSON) :
{
"contentItem": [
{
"contentID" : "1",
"contentVideo" : "file.mov",
"contentThumbnail" : "url.jpg",
"contentRating" : "5",
"contentTitle" : "Guitar Lessons",
"username" : "Username",
"realname" : "Real name",
"contentTags" : [
{ "tag" : "Guitar"},
{ "tag" : "Intermediate"},
{ "tag" : "Chords"}
],
"contentAbout" : "Learn how to play guitar!",
"contentTime" : [
{ "" : "", "" : "", "" : "", "" : ""},
{ "" : "", "" : "", "" : "", "" : ""}
],
"series" :[
{ "seriesVideo" : "file.mov", "seriesThumbnail" : "url.jpg", "seriesTime" : "time", "seriesNumber" : "1", "seriesTitle" : "How to Play Guitar" },
{ "videoFile" : "file.mov", "seriesThumbnail" : "url.jpg", "seriesTime" : "time", "seriesNumber" : "2", "seriesTitle" : "How to Play Guitar" }
]
},{
"contentID" : "2",
"contentVideo" : "file.mov",
"contentThumbnail" : "url.jpg",
"contentRating" : "5",
"contentTitle" : "Guitar Lessons",
"username" : "Username",
"realname" : "Real name",
"contentTags" : [
{ "tag" : "Guitar"},
{ "tag" : "Intermediate"},
{ "tag" : "Chords"}
],
"contentAbout" : "Learn how to play guitar!",
"contentTime" : [
{ "" : "", "" : "", "" : "", "" : ""},
{ "" : "", "" : "", "" : "", "" : ""}
],
"series" :[
{ "seriesVideo" : "file.mov", "seriesThumbnail" : "url.jpg", "seriesTime" : "time", "seriesNumber" : "1", "seriesTitle" : "How to Play Guitar" },
{ "videoFile" : "file.mov", "seriesThumbnail" : "url.jpg", "seriesTime" : "time", "seriesNumber" : "2", "seriesTitle" : "How to Play Guitar" }
]
}
]
}
J'ai réussi à faire fonctionner mon contrôleur, ma fabrique et le html alors que le JSON était codé en dur dans la fabrique. Cependant, maintenant que j'ai remplacé le JSON par le code $http.get, ça ne fonctionne pas. J'ai vu tellement d'exemples différents de $http et $resource, mais je ne sais pas où aller. Je cherche la solution la plus simple. J'essaie simplement d'extraire des données pour ng-repeat et des directives similaires.
Usine :
theApp.factory('mainInfoFactory', function($http) {
var mainInfo = $http.get('content.json').success(function(response) {
return response.data;
});
var factory = {}; // define factory object
factory.getMainInfo = function() { // define method on factory object
return mainInfo; // returning data that was pulled in $http call
};
return factory; // returning factory to make it ready to be pulled by the controller
});
Toute aide est appréciée. Merci.
1 votes
Ça ne marche pas ? Qu'est-ce qu'il fait ? Lance-t-il une erreur ? Y a-t-il une sortie dans la console JavaScript ?
0 votes
La console indique simplement "Failed to load resource" (échec du chargement de la ressource), puis le chemin du fichier console.json. Donc, il ne le charge pas pour une raison quelconque. Mon factory et mon JSON sont exactement comme vous le voyez ci-dessus. Lorsque je code en dur le JSON dans la fabrique, cela fonctionne.
1 votes
Qu'utilisez-vous comme backend ? NodeJs ou un simple serveur basé sur python ou autre chose ?
0 votes
J'essaie juste de développer en excluant le backend (Rails). Donc le JSON est juste un fichier .json avec les données ci-dessus codées en dur. Vraisemblablement similaire à ce que le backend rendrait.
0 votes
Vous n'avez peut-être pas besoin de ".data" sur la réponse changez pour -- "return response ;", à moins que le JSON renvoyé ne soit regroupé dans un objet 'data'.