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;
});
答案 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'];