Angularjs在部署后无效

时间:2016-02-28 08:05:27

标签: c# angularjs

Angularjs Part在IIS 8.5中部署之后无法正常工作,这是我的js文件 此代码适用于使用Visual Studio 2012的本地计算机

angular.module('MyApp').controller("DataViewController", ["$scope", "RequestService", function($scope, RequestService) {
    $scope.Requests = [];

    RequestService.GetRequests().then(function (d) {
        $scope.Requests = d.data
    });
}])

.factory('RequestService', function ($http) { 
    var fac = {};
    fac.GetRequests = function () {
        return $http.get('/Data/EmployeeRequests');
    }
    return fac;
});

2 个答案:

答案 0 :(得分:1)

问题是您的应用程序无法找到资源

只需更改

发件人:

.factory('RequestService', function ($http) { 
    var fac = {};
    fac.GetRequests = function () {
        return $http.get('/Data/EmployeeRequests');
    }
    return fac;
});

.factory('RequestService', function ($http) { 
    var fac = {};
    fac.GetRequests = function () {
        return $http.get('Data/EmployeeRequests');
    }
    return fac;
});

答案 1 :(得分:0)

您在工厂声明中缺少明确的类型注释。

.js文件缩小可能存在问题。在您的本地计算机上,当您将解决方案部署到prod服务器上的IIS时,VS会阻止捆绑优化 - ASP.NET最小化并捆绑所有js和css文件。因此转向

function($http) { ... }

进入

function(a) { ... }

要解决问题,请使用显式注释:

.controller(['dep1', 'dep2', '$http', function(dep1, dep2, $http) {... }]);

Controller.$inject = ['dep1', 'dep2', '$http'];