遇到問題就來解決它,但常常是發現問題的人被解決掉了 。
在開發網頁時常常需要ajax請求,但在本地端(為開發方便不使用server)就會遇到“Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.”這個問題,本文分享如何利用sublime server解決該問題。
方法一:變更Chrome配置
- Windows: 設置chrome.exe的屬性,在目標(target)後方加上“–allow-file-access-from-files”,重啟Chrome就可以。
- Mac: 打開terminal,輸入“open -a “Google Chrome” –args –disable-web-security”,重啟Chrome即可。
方法二:在Sublime Text中配置http servert插件
這個方法比較一勞永逸,比起配置Apache、IIS等服務器也相對較不繁瑣。
Sublime Server官方文件:https://packagecontrol.io/packages/SublimeServer
Sublime Text Package
首先我們要到
Package Control -> Install Package
搜尋SublimeServer並安裝。
Sublime Server Settings
再來需要做設定,如果你需要不同的port的話。
Tools -> SublimeServer -> Settings…
可以對一些參數作客一些參數做客製化修改,像是port可以改成你需要的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ "attempts": 5, "autorun": false, "defaultExtension": ".html", "interval": 500, "mimetypes": { "": "application/octet-stream", ".c": "text/plain", ".h": "text/plain", ".py": "text/plain" }, "port": 8080 } |
接著啟動SublimeServer,
Tools -> SublimeServer -> Start SublimeServer
再來要特別注意,你的html專案要用以下方式在Sublime中開啟,資料夾才能被服務器讀取到,
Project -> Add Folder to Project…
選取你的專案資料夾。
如此一來在瀏覽器輸入http://localhost:8080/,
就能看到你所有的本地專案資料夾,
點選後會到你專案的頁面,就能成功實現該頁面的ajax請求了,
然後,
就可以開始debug了…
留言