user1765862
user1765862

Reputation: 14145

Failed to load template in angularjs

Inside angulajs 1x app I have following structure

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

Answers (2)

Ian G
Ian G

Reputation: 3

You have to start the path from the index.html.

So "common/js/templates/notifications.html" should work.

Upvotes: 0

Muthukannan Kanniappan
Muthukannan Kanniappan

Reputation: 2079

If the directory structure you have given is correct below should work.

templateUrl: "common/js/templates/notifications.html",

Upvotes: 0

Related Questions