Javascript 在angularJs中读取json数据时出现问题
我试图读取一个json文件,其中包含歌曲列表和图像的urlJavascript 在angularJs中读取json数据时出现问题,javascript,json,angularjs,Javascript,Json,Angularjs,我试图读取一个json文件,其中包含歌曲列表和图像的url {"songs" : [ { "SongName" : "Broken Dreams", "image" : "img/browser.svg" }, { "SongName" : "My heart goes on", "image" : "img/browser.svg" }, { "SongName" : "Summer of 69", "image" : "img/browser.
{"songs" : [
{
"SongName" : "Broken Dreams",
"image" : "img/browser.svg"
},
{
"SongName" : "My heart goes on",
"image" : "img/browser.svg"
},
{
"SongName" : "Summer of 69",
"image" : "img/browser.svg"
},
{
"SongName" : "Broken Hearted Girl",
"image" : "img/browser.svg"
},
{
"SongName" : "American idiot",
"image" : "img/browser.svg"
}
]}
但基本问题是,当我使用$http.get()时,它读取json,但我无法将其分配给angularJS对象,这是我的angularJS代码
var app = angular.module('TheSlideShow', []);
app.controller('mainController', ['$scope', '$http', function($scope, $http){
$scope.test = "this is a test string";
$scope.songList = {};
$http.get("Data/SongList.json", ['$scope']).success(function(List){ $scope.songList = List.songs; console.log("The Length : " + $scope.songList.length);});
for(var i = 0; i< $scope.length; i++)
{
console.log("loop number" + i);
}
}]);
var-app=angular.module('TheSlideShow',[]);
app.controller('mainController',['$scope','$http',函数($scope,$http){
$scope.test=“这是一个测试字符串”;
$scope.songList={};
$http.get(“Data/SongList.json”,['$scope']).success(函数(List){$scope.SongList=List.songs;console.log(“长度:+$scope.SongList.Length);});
对于(变量i=0;i<$scope.length;i++)
{
控制台日志(“循环编号”+i);
}
}]);
长度字段给出的结果为5,但我的for循环甚至一次都没有运行。错误数
$scope
传递给$http.get
$scope.songList
值,该值是通过ajax调用填充的,因此您需要在ajax内部运行for loop success$http.get("Data/SongList.json").success(function(List){
$scope.songList = List.songs;
console.log("The Length : " + $scope.songList.length);
for(var i = 0; i< $scope.songList.length; i++)
{
console.log("loop number" + i);
}
});
$http.get(“Data/SongList.json”).success(函数(列表){
$scope.songList=List.songs;
log(“长度:+$scope.songList.Length”);
对于(变量i=0;i<$scope.songList.length;i++)
{
控制台日志(“循环编号”+i);
}
});
嘿,谢谢你提醒我关于$scope变量的事,我当时正在使用hit-and-trial方法,但忘了删除它。我想将json中的数据用于另一个函数,还有其他方法吗?我的意思是如何将我的歌曲列表传递给不同的函数?javascript在控制器中起作用吗?是的!该函数将位于同一控制器内!您可以轻松地将其作为参数传递,如$scope.someFunction($scope.songList)
&函数将是$scope.someFunction=function(songs){//you cang here}
您链接的问题基于jquery,我正在寻找angularJS方式!