背景
運(yùn)行一個(gè)html 文件婶溯, 報(bào)錯(cuò)如下:
Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
原因何在? 這是因?yàn)閍jax 跨域訪問(wèn)造成的。 那么画恰,如何解決呢?
跨域解決方法
通過(guò)安裝 node.js 骤菠,搭建一個(gè)簡(jiǎn)單的本地的 http web server铃肯。 在終端窗口的命令行中,執(zhí)行 http-server 指令臂拓。 這樣以來(lái)厚脉,就不必再創(chuàng)建server.js 文件了 。
- 下載胶惰,安裝 node.js
從 https://nodejs.org 下載安裝 node.js傻工, 分為 Mac OS 、 Windows孵滞、Linux 版本中捆。
- 通過(guò) npm 指令,安裝
http-server
模塊(module)
采用全局安裝方式剃斧, 在終端窗口轨香,執(zhí)行命令:
npm install -g http-server
3, 啟動(dòng) Web Server
通過(guò)命令行,進(jìn)入到工程所在的路徑:
cd \projects\angular-registration-login-example
通過(guò)以下指令啟動(dòng) web server:
http-server
此時(shí)幼东,在終端窗口臂容,出現(xiàn)以下提示:
`C:\projects\angular-registration-login-example>http-server`
`Starting up http-server, serving ./`
`Available on:`
`[http://192.168.0.5:8080](http://192.168.0.5:8080/)`
`[http://127.0.0.1:8080](http://127.0.0.1:8080/)`
`Hit CTRL-C to stop the server`
訪問(wèn)本地web 站點(diǎn)
在 web server 啟動(dòng)后,可通過(guò)瀏覽器訪問(wèn)本地web站點(diǎn)根蟹。
打開(kāi)瀏覽器脓杉,在地址欄中輸入:
如果要訪問(wèn) index.html 文件, 只需:
小結(jié)
解決 ajax 的跨域訪問(wèn)简逮,一直是Web 開(kāi)發(fā)的一個(gè)難題球散。如果去網(wǎng)上搜索解決方案的化,你會(huì)感覺(jué)難度非常之大散庶。 殊不知蕉堰,通過(guò)安裝一個(gè)小小的 node.js , 這個(gè)看似復(fù)雜的難題悲龟,瞬間解決屋讶!
本文參考書(shū): 《 全棧開(kāi)發(fā)之道:MongoDB+Express+AngularJS+Node.js 》
更多全棧技術(shù),請(qǐng)關(guān)注微信公眾號(hào): “全棧工程師的早讀課”须教,每天早8:00 準(zhǔn)時(shí)推送技術(shù)文章皿渗。