使用angularJS $ get获取数据

时间:2013-09-10 04:47:55

标签: javascript django angularjs

我正在尝试使用angular js $ get来获取数据。我可以用这样简单的功能来做到这一点:

 <script>
    $(document).ready(function() {
        $.getJSON('{% url 'ajax-view' %}', function(data) {
            alert(data['revenue']);
        })
    })


</script>


but trying this way in angular. since im new to this. cant get it work.



      <script>

        var app = angular.module('plinc', []);

        app.controller('MainCtrl', function($scope, $http) {
        $http({
        url: '{% url 'ajax-view' %}',
        method: "GET"
        }).then($scope.getdata = function(response) {
        alert(data['revenue']);
        $scope.data = response;
        });
        });
        </script>

这是完整的django模板:https://dpaste.de/4Y3y5/

2 个答案:

答案 0 :(得分:0)

$http的xhr回调方法(然后,成功,错误)的参数应该是回调函数,而不是你已经完成的表达式。试试这个:

.then(function(response) {
    alert(response['revenue']);
    $scope.data = response;
});

注意:您也可以使用$http.get(url)代替更详细的

$http({'method': 'GET', 'url': url})语法。

答案 1 :(得分:0)

参考the doc.then().success()注册的回调有不同的签名:

.success(function(data, status, headers, config) {})
// Here response is like {data:..., status:..., headers:..., config:...}
.then(function(response) {})

因此您的代码可能是

$http.get('{% url 'ajax-view' %}').then(function(response) {
    alert(response.data.revenue);
    $scope.data = response.data;
});

$http.get('{% url 'ajax-view' %}').success(function(data) {
    alert(data.revenue);
    $scope.data = data;
});