AngularJs 资源 Json 错误
AngularJs Resource Json Error
user.json 文件只有一个条目:
{
"id": 1,
"protocol": "http",
"ip": "255.255.255.0",
"port": "80",
"userName": "usemanager",
"password": "password",
"diskPath": "D:nwjs"
}
工厂代码:
duseApp.factory('duseConnect', function ($resource) {
return $resource("user.json");
});
控制器代码:
duseApp.controller("duseLoginController", function ($scope,duseConnect,
$location) {
var user = duseConnect.get({id: 1});
console.log(user);
console.log(user.id);
});
用户被列入名单。
但是console.log(user.id); is undefined
。
为什么会这样?
console.log(user);
的输出
output
您的工厂似乎正在返回 promise,在这种情况下,您需要从 promise 中提取数据。
duseConnect.get({id: 1}).then (function(user) {
console.log(user);
console.log(user.id);
});
$resource 的 return 是一个资源 "class" 对象,其中包含用于默认资源操作集的方法,可以选择使用自定义操作进行扩展。默认集包含以下操作:
{ 'get': {method:'GET'},
'save': {method:'POST'},
'query': {method:'GET', isArray:true},
'remove': {method:'DELETE'},
'delete': {method:'DELETE'}
};
使用方法可以是:
var User = $resource('/user/:userId', {userId:'@id'});
var user = User.get({userId:123}, function() {
user.abc = true;
user.$save();
})
在你的情况下,你可以这样做:
duseApp.controller("duseLoginController", function ($scope,duseConnect,
$location) {
var user = duseConnect.get({id: 1}, function (response) {);
console.log(response);
console.log(response.id);
}});
user.json 文件只有一个条目:
{
"id": 1,
"protocol": "http",
"ip": "255.255.255.0",
"port": "80",
"userName": "usemanager",
"password": "password",
"diskPath": "D:nwjs"
}
工厂代码:
duseApp.factory('duseConnect', function ($resource) {
return $resource("user.json");
});
控制器代码:
duseApp.controller("duseLoginController", function ($scope,duseConnect,
$location) {
var user = duseConnect.get({id: 1});
console.log(user);
console.log(user.id);
});
用户被列入名单。
但是console.log(user.id); is undefined
。
为什么会这样?
console.log(user);
output
您的工厂似乎正在返回 promise,在这种情况下,您需要从 promise 中提取数据。
duseConnect.get({id: 1}).then (function(user) {
console.log(user);
console.log(user.id);
});
$resource 的 return 是一个资源 "class" 对象,其中包含用于默认资源操作集的方法,可以选择使用自定义操作进行扩展。默认集包含以下操作:
{ 'get': {method:'GET'},
'save': {method:'POST'},
'query': {method:'GET', isArray:true},
'remove': {method:'DELETE'},
'delete': {method:'DELETE'}
};
使用方法可以是:
var User = $resource('/user/:userId', {userId:'@id'});
var user = User.get({userId:123}, function() {
user.abc = true;
user.$save();
})
在你的情况下,你可以这样做:
duseApp.controller("duseLoginController", function ($scope,duseConnect,
$location) {
var user = duseConnect.get({id: 1}, function (response) {);
console.log(response);
console.log(response.id);
}});