angularjs - 将 ui-router $stateParams 传递给 $http 工厂服务

标签 angularjs http factory angular-ui-router

我正在尝试通过 Controller 将 ui-router 的 $stateParams 传递给 $httpd 工厂服务。但我对如何实现同样的目标一无所知。 $http 工厂服务的作用是根据 cid 参数获取动态数据。如何将此路由参数传递给工厂服务中的后端脚本。

这是我的代码片段。

.state('category',{url:'/category/:cid',templateUrl:'views/category.html',controller:'CategoryCtrl'})


myapp.factory('catService', function($http) {
   return {
     getCategory: function(callback) {
       $http.post('categorydetail.php').success(callback);
    }
   }
});

myapp.controller('CategoryCtrl', function($scope, catService) {
  catService.getCategory(function(data,status) {
     $scope.result = data;
  });
});

非常感谢您的帮助。谢谢。

最佳答案

.state('category', {
        url:'/category/:cid',
        templateUrl:'views/category.html',
        controller:'CategoryCtrl'
 }
)

myapp.factory('catService', function($http) {
   return {
     getCategory: function(cid, callback) {
       $http.post('categorydetail.php?cid=' + cid).success(callback);
    }
   }
});

myapp.controller('CategoryCtrl', function($scope, $stateParams, catService) {
  catService.getCategory($stateParams.cid, function(data,status) {
     $scope.result = data;
  });
});

关于angularjs - 将 ui-router $stateParams 传递给 $http 工厂服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22497866/

相关文章:

javascript - Angular : Conditional field doesn't work with server side

java - 如何将 Guice AssistedInject 与接口(interface)的多个实现一起使用?

javascript - angularjs工厂可以返回对象以外的东西吗?

java - 访问部署在 Oracle Weblogic 10.3.3 上的 Web 应用程序时出现 HTTP 302 错误

c# - 数据库工厂类设计

javascript - Angularjs - 如何显示特定的 div onclick 一个特定的链接并隐藏以前的 div with ng repeat- like tabs

javascript - 如何通过ID从两个服务获取数据并显示内容

javascript - src 属性的 Angular 插值错误

ruby - 如何使用 ruby​​ 将大文件从客户端传输到服务器?

HTTP: "gzip,deflate"的首选 Accept-Encoding 是什么?