0

我正在尝试使用 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/

4

2 回答 2

0

s xhr 回调方法(然后,成功,错误)的参数$http应该是回调函数,而不是您所做的表达式。尝试这个:

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

注意:您也可以使用$http.get(url)而不是更详细

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

于 2013-09-10T04:54:31.173 回答
0

参考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;
});
于 2013-09-10T06:17:56.877 回答