Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular JS应用程序无法从Web服务加载数据_Javascript_Angularjs_Web Services - Fatal编程技术网

Javascript Angular JS应用程序无法从Web服务加载数据

Javascript Angular JS应用程序无法从Web服务加载数据,javascript,angularjs,web-services,Javascript,Angularjs,Web Services,我在angular js应用程序中使用web服务。在web服务中,我调用了一个方法来获取所有员工的列表,但我在Google chrome控制台窗口中发现了以下错误,它没有显示记录 angular.min.js:sourcemap:123 Error: transition superseded at $StateProvider.$get (angular-ui-router.js:2903) angular.min.js:sourcemap:123 Error: transitio

我在angular js应用程序中使用web服务。在web服务中,我调用了一个方法来获取所有员工的列表,但我在Google chrome控制台窗口中发现了以下错误,它没有显示记录

angular.min.js:sourcemap:123 Error: transition superseded
    at $StateProvider.$get (angular-ui-router.js:2903)


angular.min.js:sourcemap:123 Error: transition aborted

    at Object.invoke (angular.min.js:sourcemap:44) "Possibly unhandled rejection: {}"

angular.min.js:123 Error: [$injector:unpr] 
$state.transition.resolved.then.$state.transition @ angular-ui-router.js:3352

angular.min.js:123 Error: [$injector:unpr] http://errors.angularjs.org/1.6.5/$injector/unpr?p0=%24routeProvider%20%3C-
$state.transition.resolved.then.$state.transition @ angular-ui-router.js:3352

angular.min.js:123 Error: [$injector:unpr] http://errors.angularjs.org/1.6.5/$injector/unpr?p0=%24routeProvider%20%3C-
下面是脚本代码

var app = angular
    .module("Demo", ["ui.router"])
    .config(function ($stateProvider) {

        $stateProvider
            .state("home", {
                url: "/home",
                templateUrl: "Templates/home.html",
                controller: "homeController",
                controllerAs: "homeCtrl"
            })
            .state("courses", {
                url: "/courses",
                templateUrl: "Templates/courses.html",
                controller: "coursesController",
                controllerAs: "coursesCtrl"
            })
            .state("studentDetails", {
                url: "/students/:id",
                templateUrl: "Templates/studentDetails.html",
                controller: "studentDetailsController",
                controllerAs: "studentDetailsCtrl"
            })
            .state("students", {
                url: "/students",
                templateUrl: "Templates/students.html",
                controller: "studentsController",
                controllerAs: "studentsCtrl",
                resolve: {
                    studentslist: function ($http, $location) {
                        return $http.get("StudentService.asmx/GetAllStudents")
                            .then(function (response) {
                                return response.data;
                            })
                    }
                }
            })
            .config(function ($urlRouterProvider) {
                $urlRouterProvider.otherwise("/home");
            })
    })

    .controller("homeController", function () {
        this.message = "Home Page";
    })
    .controller("coursesController", function () {
        this.courses = ["C#", "VB.NET", "ASP.NET", "SQL Server"];
    })

    .controller("studentsController", function (studentslist, $state, $location) {
        var vm = this;

        vm.studentSearch = function () {
            $state.go("studentsSearch", { name: vm.name });
        }

        vm.reloadData = function () {
            $state.reload();
        }

        vm.students = studentslist;
    })

    .controller("studentDetailsController", function ($http, $stateParams) {
        var vm = this;
        $http({
            url: "StudentService.asmx/GetStudent",
            method: "get",
            params: { id: $stateParams.id }
        }).then(function (response) {
            vm.student = response.data;
        })
    })
    .controller("studentsSearchController", function ($http, $stateParams) {
        var vm = this;

        if ($stateParams.name) {
            $http({
                url: "StudentService.asmx/GetStudentsByName",
                method: "get",
                params: { name: $stateParams.name }
            }).then(function (response) {
                vm.students = response.data;
            })
        }
        else {
            $http.get("StudentService.asmx/GetAllStudents")
                .then(function (response) {
                    vm.students = response.data;
                })
        }
    })
这里是HTML代码

<!DOCTYPE html>
<html ng-app="Demo">
<head>
    <meta charset="utf-8" />
    <title></title>
    <base href="/" />
    <script src="Script/angular.min.js"></script>
    <script src="Script/angular-ui-router.js"></script>

    <script src="Script/script.js"></script>
    <link href="StyleSheet.css" rel="stylesheet" />


</head>
<body>
    <table style="font-family: Arial">
        <tr>
            <td colspan="2" class="header">
                <h1>
                    WebSite Header
                </h1>
            </td>
        </tr>
        <tr>
            <td class="leftMenu">

                <a ui-sref="home">Home</a>
                <a ui-sref="courses">Courses</a>
                <a ui-sref="students">Students</a>

            </td>
            <td class="mainContent">
                <ui-view></ui-view>
            </td>
        </tr>
        <tr>
            <td colspan="2" class="footer">
                <b>Website Footer</b>
            </td>
        </tr>
    </table>

</body>
</html>

网站标题

我一眼就能看到,在$stateProvider状态的末尾追加了一个配置块。我认为,$stateProviderAPI上没有实际的配置函数。将$urlRouterProvider注入合并到主配置块中,并添加$urlRouterProvider。否则(“/home”)调用该配置块中的某个地方,可能在调用$stateProvider.state(…)之后

我希望这对你有帮助