Javascript 使用Angularjs$资源从api获取信息
我可以访问JSON api,api URL是Javascript 使用Angularjs$资源从api获取信息,javascript,angularjs,coffeescript,Javascript,Angularjs,Coffeescript,我可以访问JSON api,api URL是http://host/api,当我用以下参数询问api时 http://host/api&q=count_people&on=house&house_id=123433 api的响应是: { people: "6" } api的工作原理与前面的示例类似,现在当我尝试在控制器中使用时,我有以下代码 //app.js var app = app.module('myapp', ['ngResource']); app
http://host/api
,当我用以下参数询问api时
http://host/api&q=count_people&on=house&house_id=123433
api的响应是:
{
people: "6"
}
api的工作原理与前面的示例类似,现在当我尝试在控制器中使用时,我有以下代码
//app.js
var app = app.module('myapp', ['ngResource']);
app.factory('API', function($resource) {
var API = $resource('host/api');
return {
get: function(o, q, params) {
s = API.get({on: o, q: q, house_id: params.id}, function(u) {
return u;
})
return s;
}
};
});
app.controller('myController', function($scope, API) {
$scope.ns = {
count_people: function() {
return API.get('house', 'count_people', {id: 123433});
}
};
});
在我的模板中,我有
<!-- mytemplate.html -->
<p>Total of people in house: {{ns.count_people().people}}</p>
众议院总人数:{{ns.count_people().people}
但是,
ns.count\u people().people
从来都不被称为做你想做的事情最简单的方法需要分两步。获取数据,显示数据
(注意:API端点不返回任何内容,但您可以看到它正在被调用。一次。)
HTML有一组额外的init来从API获取计数
<p ng-init='ns.count_people(212321)'>Total of people in house: {{ns.people[212321]}}</p>
内部人员总数:{{ns.people[212321]}
那么你的问题是什么?我没有看到回调。@您可以解释一下资源。获取([parameters],[success],[error])
其中[success]
是请求成功时要执行的函数。这就是包含人员的对象所在的位置,从这里开始,您需要将其返回或将范围中的某些内容设置为其值,以便在模板中使用它。我不太懂咖啡,但我看不出来happening@TheSharpieOnecoffeescript是否看到回调的->
,i0m将解析为Javascript感谢您的回答ng init
对我不起作用,但我替换了其他内容
<p ng-init='ns.count_people(212321)'>Total of people in house: {{ns.people[212321]}}</p>