編寫angular項目時,遇到此困難:
angular.js:12011 XMLHttpRequest cannot load file:///E:/angular/imooc/chapter2/bookstore/app/tpls/hello.html. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
分析:
由於許多瀏覽器(包括chrome、opera)限制使用XHR時調用file://協議。
而AngularJS的模板tpl經過XHR下載,而使用本地打開(file://,即直接打開網頁),就會致使以上錯誤。
對於該問題,有3種解決方案:
我本身試了方案③,仍是行不通,最終採用方案①中的node,安裝http-server(輕量級server),在項目目錄下,命令行運行啓動http-server,則項目下的文件均可以在服務器上跑,這樣angular經過XHR加載模板時,調用的是http協議,打開網頁就不會出現上述錯誤了。
可能講得不太清晰,若有寫得很差的,歡迎吐槽留言提問,有更好的解決方案歡迎共享,O(∩_∩)O謝謝!