如何使用angular.js $ http获得结果?

时间:2015-08-28 15:51:40

标签: angularjs routing anchor angularjs-routing

我在使用angularjs从api服务器获取结果时遇到了一些问题。

这是我的代码:

home.html(查看)

<div class="jumbotron text-center">
        <h1>Home Page</h1>

        <p>{{ message }}</p>

        <a href="#" ng-click="getOrders()">Orders!</a>
</div>
<ul>
    <li ng-repeat="order in orders">{{order}}</li>
</ul>

main.js(控制器)

app.controller('mainController', function($scope, $http) {
    $scope.message = 'Everyone come and see how good I look!';
    $scope.orders = [];
    $scope.getOrders = function(){
        $http.get('http://apidemo.dev/api/orders').success(function(response){
            console.log("My data: " + response);
            $scope.orders = response;
        });
    }
});

当我点击按钮时,我可以在控制台中看到结果,但不在列表中。

如果在控制器中使用此代码,它在加载时以及单击按钮时都会起作用:

app.controller('mainController', function($scope, $http) {
    $scope.message = 'Everyone come and see how good I look!';
    $http.get('http://apidemo.dev/api/orders').success(function(response){
        console.log("My data: " + response);
        $scope.orders = response;
    });
    $scope.getOrders = function(){
        $http.get('http://apidemo.dev/api/orders').success(function(response){
            console.log("My data: " + response);
            $scope.orders = response;
        });
    }
});

有什么问题?

谢谢!

2 个答案:

答案 0 :(得分:0)

感谢大家的帮助。

问题是视图中的链接......

<a href="#" ng-click="getOrders()">Orders!</a>

将是:

<a ng-click="getOrders()">Orders!</a>

答案 1 :(得分:0)

好像您使用的是ngRoute,并且您的锚点中有href="#",这会导致您重定向到空白页面,保持href=""会帮助您在css中显示pointer: cursor;悬停它

按钮

<a href="" ng-click="getOrders()">Orders!</a>