我正在尝试使用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/
答案 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;
});