iT邦幫忙

2

CORS / XMLHttpRequest 解決方法

  • 分享至 

  • xImage
  •  

Situation:當前端想要從網路上拿資料,但是發生如下圖這種狀況時。

https://ithelp.ithome.com.tw/upload/images/20190706/201183712GxhUS7wD1.png

Target:看完此篇,應可以讓你了解,如何解決跨網域的問題。

Apply:往後應用,方便取得政府資料開放平臺的資料

Method:

其一:運用Chrome瀏覽器,加入輔助的使用工具。
其二:在API網址上,加入一些東西。

資料來源:https://medium.com/@dtkatz/3-ways-to-fix-the-cors-error-and-how-access-control-allow-origin-works-d97d55946d9





其一:安裝Allow-Control-Allow-Origin插件

缺點:你不能希望你的使用者都有下載這個東西

Step1:你必須使用Chrome瀏覽器

Step2:點擊 https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en

Step3:安裝

Step4:可以使用了!!

(不建議使用這個,因為開啟這個,開其他網頁會有點問題)

如圖所示
https://ithelp.ithome.com.tw/upload/images/20190706/20118371qHYZEbOwDd.png

變成

https://ithelp.ithome.com.tw/upload/images/20190706/20118371EeYjy3vaHc.png

其二:於網址[前]加入一些東西

缺點:作者言這個會拖慢加載速度

Step1:找到你想拿Data的網址(from 政府公開資料平台)
Ex:『https://www.twtainan.net/data/attractions_zh-tw.json』

Step2:然後於網址前加入
『https://cors-anywhere.herokuapp.com/』

Step3:所以整串網址就會變成
『https://cors-anywhere.herokuapp.com/https://www.twtainan.net/data/attractions_zh-tw.json』

Step4:打開你的瀏覽器(我在這邊使用Safari,因為Chrome安裝了上面的插件),改變如下兩圖所示:
https://ithelp.ithome.com.tw/upload/images/20190706/201183714dQxgDBKBg.png

https://ithelp.ithome.com.tw/upload/images/20190706/20118371K0D9ehFDIO.png

註:附上我的程式碼部分(use Vue)
https://ithelp.ithome.com.tw/upload/images/20190706/20118371f3mfLiP1fz.png



圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
deh
iT邦研究生 1 級 ‧ 2019-12-20 10:32:46

原文不是還有第三個方法嗎XD

原文的開頭真是讓人心有戚戚焉

我要留言

立即登入留言