我的angularjs示例应用程序在基于netbeans ide的本地服务器上运行良好。 但是当我将应用程序移动到nginx服务器时,它在浏览器中给我下面的错误。
Error: [$compile:tpload] Failed to load template: views/login.html http://errors.angularjs.org/1.3.15/$compile/tpload?p0=views%2Flogin.html at REGEX_STRING_REGEXP (angular.js:63) at handleError (angular.js:16133) at processQueue (angular.js:13248) at angular.js:13264 at Scope.$get.Scope.$eval (angular.js:14466) at Scope.$get.Scope.$digest (angular.js:14282) at Scope.$get.Scope.$apply (angular.js:14571) at done (angular.js:9698) at completeRequest (angular.js:9888) at XMLHttpRequest.requestLoaded (angular.js:9829)
我的app.js
appModule .config(['$routeProvider', function($routeProvider) { $routeProvider .when('/', { controller: 'loginController', templateUrl: 'views/login.html' }) .when('/main', { controller: 'dashboardController', templateUrl: 'views/dashboard.html' }) .otherwise({redirectTo: '/'}); }])
如果你使用node.js,试试这个
app.use(express.static(path.join(__dirname,'yourFolder/invoices')));
我来找出我的问题是关于默认$ HTTP头。 我刚刚为Authorization
添加了一个默认标头,并为application/json
添加了默认的Accept
。
SURPRISE! 事实证明,这些$ http标头不仅适用于您对端点进行的$ http调用,还适用于每次调用您的路由 html文件的调用。 而且,因为如果使用这些头文件的HTML文件将爆炸,整个事情失败。
我只是简单地停止设置Default $ http标题,并且写了一个我的微服务调用会使用的辅助服务,因为他们需要app / json。 然后我的Angular Routing调用返回到使用标准头文件。