ga('set', 'anonymizeIp', 1);

[TechIntro] 解決本地文件(file:///)ajax請求錯誤

Share

遇到問題就來解決它,但常常是發現問題的人被解決掉了 。

在開發網頁時常常需要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可以改成你需要的。

{
	"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了…

Jys

Published by
Jys

Recent Posts

[python] Flask Create RESTful API

This article gi... Read More

3 年 前發表

[Javascript] 新增/刪除JSON中key值

在web訊息交換常會需要對JS... Read More

3 年 前發表

[JAVA] SQL Server Connection

本文介紹JAVA連線SQL s... Read More

3 年 前發表