還記得 Day 06 有提到非同步請求資料的方法有 XHR、fetch、axios、Rails.ajax 嗎?
這四種都可以拿來打 API。
XHR 是最原始的方法,使用起來也比較繁瑣,需要設定很多值,因為很古老的關係,筆者也沒使用過。
fetch 比 XHR 好用一點,axios 跟 Rails.ajax 又比 fetch 更方便。
以下來簡單介紹fetch、axios、Rails.ajax 的差異。
// fetch
fetch('url')
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.log(error))
// axios
const url = `網址`;
const token = document.querySelector("meta[name=csrf-token]").content;
ax.defaults.headers.common["X-CSRF-Token"] = token;
axios.get('url')
.then((response) => console.log(response))
.catch((error) => console.log(error))
// Rails.ajax
Rails.ajax({
url: 網址,
type: "post",
data: "",
success: (data) => {
console.log(data)
},
error: function (err) {
console.log(err);
},
});
[1]非同步請求xhr、ajax、axios與fetch的區別比較
[2]Difference between Fetch and Axios.js for making http requests