Maison > Questions et réponses > le corps du texte
J'ai lu text.json et je l'ai attribué à $scope.data, mais il n'y a eu aucune réponse lors de l'utilisation de ng-repeat en HTML. Comment puis-je écrire les données lues aux emplacements correspondants dans la page HTML ?
ps : Lorsque ce code est exécuté, une erreur se produit indiquant que le chemin d'accès au fichier json est introuvable 404.
js :
function dataController($http,$scope) {
$http.get("json/text.json").success(function(freetrial) { alert(freetrial);$scope.data = freetrial;});
Données en json :
{"freetrial":[{
"id": "01",
"imgurl": "images/1.jpg",
"status": "0"
},
{
"id": "02",
"imgurl": "images/2.jpg",
"status": "1"
}
]}
html :
<p ng-controller="dataController" ng-repeat="x in data|filter:{status:'0'}">
<p id="{{x.id}}">
<img ng-src="{{x.imgurl}}" />
</p>
</p>
仅有的幸福2017-05-15 16:53:24
Puisqu'il a généré 404, ce qui signifie que json
n'a pas été trouvé, cela devrait être un mauvais chemin
Et le success()
dans votre méthode freetrial
représente en fait toutes les données json, vous ne pourrez donc pas les obtenir lorsque vous souhaiterez obtenir le tableau plus tard.
doit être pris comme ceci :
function dataController($http,$scope) {
$http.get("json/text.json").success(function(data) {
$scope.data = data.freetrial;
});
}
PHP中文网2017-05-15 16:53:24
Vous pouvez d'abord configurer le chemin absolu, puis passer au chemin relatif si cela réussit et qu'il n'y a pas d'autres problèmes.
给我你的怀抱2017-05-15 16:53:24
Vous pouvez d'abord configurer le chemin absolu, puis passer au chemin relatif si cela réussit et qu'il n'y a pas d'autres problèmes.
曾经蜡笔没有小新2017-05-15 16:53:24
S'il s'agit d'une erreur 404, cela signifie que les données json de get n'ont pas été obtenues, c'est-à-dire qu'il y a un problème avec le chemin json. J'ai copié votre code et je l'ai essayé. Si le chemin est correct, le. les données ne seront pas affichées sur la page ci-dessus.
Mais :
function dataController($http,$scope) {
$http.get("json/text.json").success(function(freetrial) {
alert(freetrial);
$scope.data = freetrial;
console.log($scope.data);//可以打印出数据
});
};
La méthode d'obtention correcte devrait être :
function dataController($http, $scope) {
$http.get("rightUrl").success(function(data) {
$scope.data = data.freetrial;
});
};
Le rôle des données : se référer au code source d'angular.js
$http.get('test_data.json',
{cache: $templateCache}).success(function(userComments){
self.userComments = userComments;
});