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

初學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:\Users\Administrator\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --disable-web-security
不过会影响chrome的正常使用,你可以用canary作这个。
或者,用grunt,用connect 加 livereload 插件,开发爽爽的,connect相当于做了一个服务器,livereload可以自动更新刷新浏览器

Ty80

经验证,楼上说的都是可以的,就看大家选取那种方式了,感谢大家

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!