我是angularjs的初学者,对网络服务也不了解。我的要求是这样的:
我必须从我的网址http://mylocalhostname.dev/users/list?city_id=12
中获取一个JSON对象我绝对无能为力......请修改我的代码来帮助我。
提前致谢。这是我的JS代码:
'use strict';
var services = angular.module('services', ['ngResource']);
services.factory('dataFactory', ['$resource','$http', '$log',
function ($resource, $http, $log) {
return {
getAllUsers: function(){
return $resource('http://mylocalhostname.dev/users/list',{city_id:12}
,{
locate: {method: 'GET', isArray: true, transformResponse: $http.defaults.transformResponse.concat(function(data, headersGetter)
$log.info(data.UsersList[0]);
return data.UsersList[0].userName;
})}
}
);
}
}
}]);
当我测试时,我在控制台中收到此消息:
GET http://mylocalhostname.dev/users/list?city_id=12 200 OK 164ms angular.js(ligne 7772) (红色) (空字符串)
答案 0 :(得分:2)
(我意识到这是一个古老的问题,但仍然没有答案,它出现在我刚刚做的搜索的顶部,所以希望这可以关闭那个特定的循环)
控制器从简单工厂检索数据的简单示例,其中工厂使用$ resource访问本地托管文件并将文件内容返回给控制器。
工厂:
'use strict';
angular.module('myApp')
.factory('myFactory', ['$resource', function($resource) {
return function(fileName){
return $resource(fileName, {});
};
}]);
控制器:
'use strict';
var fileToGet = 'some/path/to/file.json';
angular.module('myApp')
.controller('myController', function($scope, myFactory) {
var getDefs = new myFactory(fileToGet).get(function(data) {
$scope.wholeFile = data;
// $scope.wholeFile should contain the entire JSON-formatted object
$scope.someSection = data.section;
// $scope.someSection should contain the "varX" and "varY" items now
$scope.myStringX = JSON.stringify(data.section.varX);
// get the stringified value
});
});
JSON格式的文件:
{
"someVar": "xyz",
"someArray": [
{
"element0A": "foo",
"element0B": "bar"
},
{
"element1A": "man",
"element1B": "chu"
}
],
"section": {
"varX": 0,
"varY": "yyyy"
}
}