跨網域代理,解決AJAX CORS的問題

使用JS存取API時,經常會有跨網域(CORS)的錯誤出現。

如對方主機未允許CORS,則前端是無法取得資料,像我只是為了練習而架設一台伺服器來解決CORS,似乎效益太低。

此時可以利用跨網域代理來解決CORS的問題。

網址:https://cors-anywhere.herokuapp.com/

使用的方式也很簡單,將網址加上API就可以取回有CORS限制的資料。

例如:

健保署opendata:https://data.nhi.gov.tw/Datasets/DatasetResource.aspx?rId=A21030000I-D50001-001

程式碼如下:

let opendata = https://data.nhi.gov.tw/Datasets/DatasetResource.aspx?rId=A21030000I-D50001-001
let cors_url = https://cors-anywhere.herokuapp.com/

return_data = ajax(cors_url + opendata);