如何在成功后从服务器显示json?

时间:2015-12-14 17:01:49

标签: javascript angularjs json

我正在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

如何访问数组的不同属性?令牌,消息等属性?

2 个答案:

答案 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);