使用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);