繁体   English   中英

AngularJS路由提供者-发布请求

[英]AngularJS route provider - post request

我如何使用routeprovider向URL发送请求? 在下面提供了示例代码

<script>
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider) {
    $routeProvider
    .when("/", {
        templateUrl : "main.htm"
    })
    .when("/red", {
        templateUrl : "red.htm"
    })
    .when("/green", {
        templateUrl : "green.htm"
    })
    .when("/blue", {
        templateUrl : "blue.htm"
    });
});
</script>

您可以使用resolve

.when("/", {
    templateUrl : "main.htm",
    resolve: {
      data: function($http) {
        $http.post('/yourUrl', yourData)
            .then(function(res) {
              return res;
            }, function(err) {
              console.log(err);
              return null;
            })
    }
    }
})

然后在您的控制器中

.controller(function(data) {
   console.log(data);
 })

注意:这本身不使用routeProvider ,因为进行REST调用不是routeProvider的用途。 Angular只能通过$http服务来做到这一点。 我假设您只想从路由定义中进行REST调用。

Protip一种更好的方法是在模块中定义一个服务,然后将该模块插入路由解析中,而不是直接注入$http 我这样做只是为了简洁

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM