这里有一个设置让我调用php脚本从外部API获取数据。我做的是建立一个这样的工厂:
app.factory('loadAPI', function ($http) {
var doRequest = function() {
return $http({
method: 'JSON',
url: 'api.php'
});
};
return {
dataReturn: function() { return doRequest(); }
};
});
然后在我的.controller
内我使用以下脚本来处理数据:
loadAPI.dataReturn().success(function(data, status){
...
}
现在由于外部API提供了许多接口,我喜欢将参数传递给.factory
,因此它可以处理多种不同类型的接口(而不是创建多个.factory
来处理它们。)
这是我的概念:
loadAPI.dataReturn(parameter).success(function(data, status){
...
}
app.factory('loadAPI', function ($http) {
var doRequest = function(parameter) {
return $http({
method: 'JSON',
url: 'api.php?p=' + parameter
});
};
return {
dataReturn: function(parameter) { return doRequest(parameter); }
};
});
它不起作用。
答案 0 :(得分:1)
这个概念会起作用。我试过了,它正确地返回数据。可能有更简单的方法将参数传递给$http
。我怀疑你的api.php
没有正确读取参数有问题。