2014-04-24 73 views
0

我有以下服务Angularjs:从控制器参数传递到工厂

define(['./module'], function(services) { 
'use strict'; 
services.factory('user_resources', ['$resource', '$location', function($resource, $location) { 
     return $resource("", {}, 
       { 
        'testService':{method:"GET",url:'http://11.11.11.11/url/index.php?data={method:method_name,params:{param1:value,param2:value,}}',isArray:true} 
       }); 
}]); 
}); 

从控制器我打电话此工厂方法如何将参数传递到从控制器此TestService的代码?

下面的代码在控制器来调用这个工厂

user_resources.testService().$promise.then(function(data) { 
    console.log("****************************");   
    console.log(data); 
    $scope.mylist=data;  
}); 
+0

你想传递什么参数? –

+0

想要传递这个参数的部分参数:{param1:value,param2:value}。 – asdfdefsad

回答

1

那不是如何$resource作品。

$resource("http://11.11.11.11/url/index.php", 
      {'testService':{method:"GET",url:'http://11.11.11.11/url/index.php',isArray:true}}) 

然后你把它叫做:

var theObjToSend = { 
        method:method_name, 
        params: 
         { 
          param1:value, 
          param2:value 
         } 
        }; 
new user_resources({data: theObjToSend}).testService(); 

user_resources.testService({data: theObjToSend}); 

它去序列化对象,所以可能看起来怪怪的。任何你不使用查询参数的原因?
例如

?method=method_name&params={param1:value,param2:value} 
+0

如果我打开'testService':{method:“GET”,url:'http://11.11.11.11/url/index.php?data= {',isArray:true}和user_resources.testService({data:theObjToSend })。$ promise.then(function(data){console.log(“####################”); console.log(data); });那么数据不可用 – asdfdefsad

+0

我不理解你的评论@PriyaBhatt – Nix

+0

我使用user_resources.testService({data:theObjToSend})。$ promise.then(function(data){console.log(“####### #############“); console.log(data);});从网址获取数据,但它不可用 – asdfdefsad