2015-11-01 14 views
1

我試圖嘗試從希望像這樣的參數的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 
      } 
     }); 
    }) 

我console.logging它在模板中像這樣:

$scope.userOne = Activity.query({userId:1}); 
console.log($scope.userOne) 

它迴歸

http:site.dev/api/activity?filter=%7B%22%5Buser_id%5D%22:%[email protected]%22%7D&userId=1". 

任何想法我做錯了什麼?

+0

您是否嘗試過指定的查詢參數'{ '過濾器[USER_ID]': '@userId'}'? – Kenney

+0

現在我得到了'activity?filter =%7B%22filter%5Buser_id%5D%22:%22 @ userId%22%7D&userId = 1「.' – friendlyfire

+0

我的意思是:'return $ resource(ajaxInfo.api_url +'activity' ,{'filter [user_id]':'@userId'},{'query':......' – Kenney

回答

-1

這裏就是我所做的解決這個問題:

我創建了一個名爲工廠「當前用戶」這個工廠主要從API返回當前用戶的對象。

然後,我創建了一個控制器,當我想通過該用戶標識過濾活動時,將參數傳遞給活動工廠。

$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(); 
+0

爲什麼選擇downvote?至少發表評論。 – friendlyfire

相關問題