将变量打印到html页面时出现问题

时间:2017-04-03 06:24:23

标签: javascript angularjs ajax

我正在尝试在ajax方法中获取用户的名字,并尝试在html页面上打印它,但它没有被打印

这是我的HTML:

<div ng-app="app" ng-controller="VolController">
<div class="account-action">

<h3 style="display:inline;"><img class="img"  align="left" src="images/u11.png">
    <p style="color:white">&nbsp;&nbsp; Welcome {{first_name}}<p></h3>  
</div>

这是我的控制者:

    app.controller('VolController',['$scope','$sessionStorage','$state',function($scope,$sessionStorage,$state){

    var b=sessionStorage.getItem("userid"); 

    var a="http://localhost:8080/volunteers/"+b;


        $.ajax({
    type:'GET',
    url:a,

    success:function(data){
     console.log(JSON.stringify(data));
    $scope.volunteer=data; 
    $scope.first_name=JSON.stringify($scope.volunteer.VolunteersDTO.first_name);

    console.log(data);


    },
    error:function(data){
        alert(data);
        },
    dataType:"json",
    contentType:"application/json",
})




}]);

问题已更新!!!!

3 个答案:

答案 0 :(得分:0)

你应该使用$ scope,

  $scope.first_name=JSON.stringify($scope.volunteer.VolunteersDTO.first_name);

答案 1 :(得分:0)

当您使用$.ajax而不是本地$http时,您应该将分配包装到$apply中:

success: function(data) {
    $scope.$apply(function(){
        $scope.volunteer = data;
        $scope.first_name = JSON.stringify($scope.volunteer.VolunteersDTO.first_name);
    });
}

答案 2 :(得分:0)

不要使用jquery $ .ajax进行ajax调用。请使用angularjs的$ http服务进行ajax调用。

$ http.get(URL);

不要忘记在angular中添加$ http服务作为依赖。