我正在尝试从需要参数的ajax本地化REST api中获取用户数据:
/api/activity?filter[user_id]=1
我的工厂设置了如下查询参数:
angular.module('app')
.factory('Activity',function($resource){
return $resource(ajaxInfo.api_url+'activity',
{ // Query parameters
filter: {
'[user_id]': '@userId'
},
},
{
'query':{
method:'GET',
headers: {
'X-WP-Nonce': ajaxInfo.nonce
},
isArray: false
}
});
})
我是控制台。在模板中记录它:
$scope.userOne = Activity.query({userId:1});
console.log($scope.userOne)
它正在返回
http:site.dev/api/activity?filter=%7B%22%5Buser_id%5D%22:%22@userId%22%7D&userId=1".
知道我做错了什么吗?
答案 0 :(得分:-1)
以下是我为解决这个问题所采取的措施:
我创建了一个名为“CurrentUser”的工厂,这个工厂基本上从api返回当前用户的对象。
然后我创建了一个控制器,当我想按该用户ID过滤活动时,该控制器将参数传递给Activity工厂。
$scope.userInfo = function(){
//call the CurrentUser and see if it's available and return it as u
CurrentUser.instance().then(function(u) {
//now query the activity factory and pass the filter as a string along with the user id as u.id
Activity.query({'filter[user_id]':u.id}, function(res){
$scope.userOne = res ;
console.log($scope.userOne);
});
})
};
$scope.userInfo();