使用应用程序控制器从URL提取参数

时间:2018-07-24 06:59:08

标签: angularjs url controller

如何使用此代码将多个参数传递给函数?我只能将用户名作为单个参数传递,但MarkDate不能传递给URL。

 var app = angular.module("myModule", ['angularUtils.directives.dirPagination']);

    //This Gets all the Pre Clients
    app.controller("GetAttendance", function ($scope, $http) {
        window.params = function () {
            var params = {};
            var param_array = window.location.href.split('?')[1].split('&');
            for (var i in param_array) {
                x = param_array[i].split('=');
                params[x[0]] = x[1];
            }
            return params;
        } ();

        $http({
            url: "../assets/services/MasterWebService.asmx/spGetAttendanceByUsernameDate",
            method: "GET",
            **params: { Username: window.params.Username , MarkDate : params.Markdate}**
        }).then(function (response) {
            console.log(response.data);
            $scope.GetAttendanceData = response.data;
            $scope.TotalOrders = response.data.length;
        });

1 个答案:

答案 0 :(得分:0)

您的“ MarkDate”参数没有像使用“用户名”那样从window.params对象获取其值。这应该起作用:

        $http({
            url: "../assets/services/MasterWebService.asmx/spGetAttendanceByUsernameDate",
            method: "GET",
            **params: { Username: window.params.Username , MarkDate : window.params.Markdate}**
        }).then(function (response) {
            console.log(response.data);
            $scope.GetAttendanceData = response.data;
            $scope.TotalOrders = response.data.length;
        });