2014-04-24 4 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: значение, param2: значение} в качестве параметра. – asdfdefsad

ответ

1

Thats не так, как $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': {метод: "GET", url: 'http: //11.11.11.11/url/index.php? Data = {', isArray: true} и user_resources.testService ({data: theObjToSend }). $ prom.then (функция (данные) { console.log ("####################"); console.log (данные); }); то данные недоступны – asdfdefsad

+0

Я не понимаю ваш комментарий @PriyaBhatt – Nix

+0

Я использую user_resources.testService ({data: theObjToSend}). $ prom.then (function (data) {console.log ("####### ############# "); console.log (данные);}); получить данные с URL-адреса, но он недоступен – asdfdefsad