Angularjs 在部署后不起作用
本文关键字:不起作用 部署 Angularjs | 更新日期: 2023-09-27 18:36:38
Angularjs 部分在 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;
});
问题是您的应用程序找不到资源
只需更改
从:
.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;
});
工厂声明中缺少显式类型注释。
缩小.js文件可能存在问题。在本地计算机上,当您将解决方案部署到生产服务器上的 IIS 时,VS 会阻止捆绑优化 - ASP.NET 最小化并捆绑所有 js 和 css 文件。从而转动
function($http) { ... }
到
function(a) { ... }
要解决问题,请使用显式注释:
.controller(['dep1', 'dep2', '$http', function(dep1, dep2, $http) {... }]);
或
Controller.$inject = ['dep1', 'dep2', '$http'];