Reputation: 14145
Inside angulajs 1x app I have following structure
app
common
js
directives
notifications.js
templates
notifications.html
security
notifications.js
(function(module) {
var notifications = function(notificating) {
return {
restrict: "AE",
templateUrl: "templates/notifications.html",
// tried also templateUrl: "../templates/notifications.html",
// tried also templateUrl: "app/common/templates/notifications.html",
link: function(scope) {
// todo
}
};
};
module.directive("notifications", notifications);
}(angular.module("common")));
inside firebug console I'm getting following error
angular.js:9658 XMLHttpRequest cannot load file:///G:/My%20App/app/templates/notifications.html. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.(anonymous function) @ angular.js:9658sendReq @ angular.js:9462serverRequest @ angular.js:9179processQueue @ angular.js:12914(anonymous function) @ angular.js:12930$eval @ angular.js:14123$digest @ angular.js:13939$apply @ angular.js:14227bootstrapApply @ angular.js:1487invoke @ angular.js:4152doBootstrap @ angular.js:1485bootstrap @ angular.js:1505angularInit @ angular.js:1399(anonymous function) @ angular.js:25579trigger @ angular.js:2742eventHandler @ angular.js:3013 angular.js:11358 Error: [$compile:tpload] Failed to load template: templates/templates.html http://errors.angularjs.org/1.3.0/$compile/tpload?p0=templates%2Ftemplates.html
Upvotes: 1
Views: 12795
Reputation: 3
You have to start the path from the index.html.
So "common/js/templates/notifications.html" should work.
Upvotes: 0
Reputation: 2079
If the directory structure you have given is correct below should work.
templateUrl: "common/js/templates/notifications.html",
Upvotes: 0