我正在Angular上创建一个登录控制器,我有一个工厂服务,我在其中发送一个post请求并返回json数据。当我在console.log中获取成功数据时,我可以看到一个对象,但是当我尝试访问属性时,我得到了未定义。
UserAuthFactory.login(name,password)
.success(function(data){
console.log(data.token);
AuthenticationFactory.token = data.token;
console.log(data);
}).error(function(status){
console.log('oops something went wrong.');
});
};
在我的console.log中
对象{success:true,message:“Enjoy your Token!”,令牌: “eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJfaWQiOiI1N ... jowfQ.Hcfejg7x7W4w01fBaf303I2iJ57T38e84vLtGDiwSHI”} 消息:“享受你的令牌!”成功:truetoken: “eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJfaWQiOiI1NjUzODEyNjg2NzFhM2JhMmQ2NTQ4NjgiLCJuYW1lIjoiTmljayBHbG9uYXJpcyIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJhZG1pbiI6dHJ1ZSwiX192IjowfQ.Hcfejg7x7W4w01fBaf303I2iJ57T38e84vLtGDiwSHI” 的原: 对象app.js:121 undefined
如何访问数组的不同属性?令牌,消息等属性?
答案 0 :(得分:1)
如果要在HTML部分中访问该数据,请参阅我的示例代码。
我确实使用了$ scope,$ http模块。
example.controller('Example', function( $scope, $http ) {
$scope.token = '';
$scope.message = '';
$scope.etc = null;
$scope.getToken = function() {
var reqParams = { id: 'userid', password: 'owije3wefo' };
$http.post('getToken', reqParams ).then( function( res ) {
console.log( res.data );
this.result = res.data.token;
this.message = res.data.message;
this.etc = res.data.etc;
}.bind(this));
};
});
在html中,
<div ng-controller="Example">
<div>
<span class="label">token</span>
<input ng-model="token" type="text" />
</div>
</div>
答案 1 :(得分:0)
当你有一个JSON对象时,你应该只用它来转换它 的 JSON.parse(文本)强>
例如
var json_object = JSON.parse(json_string);
console.log(json_object.parameter);