2014-01-18 28 views
2

我有以下代碼:

<span ng-include="getHeaderTemplate()"></span> 

getHeaderTemplate()返回 「模板/頭/ prospection.html」

然而

,我得到的以下錯誤:

Error: [$sce:insecurl] Blocked loading resource from url not allowed by $sceDelegate policy. URL: templates/header/prospection.html 
http://errors.angularjs.org/1.2.9/$sce/insecurl?p0=templates%2Fheader%2Fprospection.html 
    at http://localhost/piquick/laravel/public/vendor/angular-1.2.9.js:78:12 
    at Object.getTrusted (http://localhost/piquick/laravel/public/vendor/angular-1.2.9.js:12739:17) 
    at Object.sceParseAsTrusted (http://localhost/piquick/laravel/public/vendor/angular-1.2.9.js:13168:22) 
    at Scope.$digest (http://localhost/piquick/laravel/public/vendor/angular-1.2.9.js:11800:40) 
    at Scope.$apply (http://localhost/piquick/laravel/public/vendor/angular-1.2.9.js:12061:24) 
    at http://localhost/piquick/laravel/public/vendor/angular-1.2.9.js:1302:15 
    at Object.invoke (http://localhost/piquick/laravel/public/vendor/angular-1.2.9.js:3710:17) 
    at doBootstrap (http://localhost/piquick/laravel/public/vendor/angular-1.2.9.js:1300:14) 
    at bootstrap (http://localhost/piquick/laravel/public/vendor/angular-1.2.9.js:1314:12) 
    at angularInit (http://localhost/piquick/laravel/public/vendor/angular-1.2.9.js:1263:5) 

的URL是在同一臺服務器(這是一個本地URL),所以我不明白爲什麼我得到這個錯誤。

這裏的約$ SCE

http://docs.angularjs.org/api/ng.$sce#resourceurlpatternitem

回答

2

這看起來像AngularJS」嚴格語境逃逸(SCE)模式已禁止來自一個‘不安全’的網址加載資源的文檔。

他們的文檔狀態:「瀏覽器的同源策略和跨域資源共享(CORS)策略應用,可能進一步限制模板是否成功加載(如沒有跨域請求將不會在所有的瀏覽器。也不文件:在某些瀏覽器//請求)」

嘗試用類似的調用包裝的模板網址:

$sce.trustAsUrl('templates/header/prospection.html') 

Here's more info.

+1

我不明白爲什麼'templates/header/prospection.html'不適合CORS。這是一個本地URL,所以他們不應該有任何問題。 – edi9999

+0

不確定我自己。我認爲瀏覽器政策的某些方面是關閉的?雖然我的建議能起作用嗎? – Stuart

+0

沒有,仍然是相同的錯誤 – edi9999

1

對我的作品相同的配置。你能給我們舉一個例子嗎?

+0

你是對的,它適用於JSFiddle:http://jsfiddle.net/YJJd3/3/ – edi9999

+2

他們是我的文件有一些不好的代碼:'m.config(['$ sceDelegateProvider ',function($ sceDelegateProvider){}} {sceDelegateProvider.resourceUrlWhitelist(['。*']); }]);'。就是這樣。 – edi9999

+0

@ edi9999能否請您更詳細地解釋您是如何解決此問題的?例如,哪個文件包含錯誤? – broderickga