angular.js - AngularJS的CORS錯誤
黄舟
黄舟 2017-05-15 16:50:03
0
5
998

初學angularjs,在使用指令的時候用到了templateUrl,直接使用該指令的話在chrome上是會報Cross Origin Request Script(CORS)錯誤,可能是基於安全考慮吧,不能直接加載file//文件。在ff下應該是可以的。

想問一下,在chrome下,有沒有方式不透過搭建一個本地的伺服器來解決這個問題,請各位大牛指教。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆(5)
Peter_Zhu

直接預先編譯模板,快取到 $templateCache 裡去,這樣可以把預編譯後的模板當作腳本直接載入到網頁內部,沒有跨域的問題。開發過程中可以使用自動預編譯(你可以搜尋相關的解決方案,例如 grunt + ngTemplate 等等)。

如果你是第一次接觸預編譯模板這個概念,可能會摸不著頭腦,別著急,起初我也查了好些資料才轉過這個彎明白其中的原理。不過我現在正在忙,沒時間細細講解,建議你先就著預編譯模板這五個字好好搜尋一下相關的資料。等我有空再補細節吧。

曾经蜡笔没有小新

http://stackoverflow.com/questions/16251420/couldnt-load-template-using-templateurl-in-angularjs

我想大声告诉你

有個Chrome的插件。 。 。 google 搜尋 cors chrome 第一條就是:)

给我你的怀抱

可以捷徑開啟chrome 的時候加上 --disable-web-security參數。 。 。就是右鍵屬性改下
變成"C:UsersAdministratorAppDataLocalGoogleChrome SxSApplicationchrome.exe" --disable-web-security
不過會影響chrome的正常使用,你可以用canary作這個。
或者,用grunt,用connect 加 livereload 插件,開發爽爽的,connect相當於做了一個伺服器,livereload可以自動更新刷新瀏覽器

Ty80

經驗證,樓上說的都是可以的,就看大家選那種方式了,感謝大家

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板