[Axios] Vuejs / React νκ²½μμ axios λͺ¨λ get/post ν΅μ μλ¬
1. νλ‘μ νΈ νκ²½
- html λ² μ΄μ€λ‘ νλ‘ νΈμμ Vuejs μ¬μ© μ€
- Vuejs λ²μ 2.6.14
- axios λΌμ΄λΈλ¬λ¦¬ λ²μ 0.26.1
2. λ¬Έμ μν©
- axios λ₯Ό μ΄μ©νμ¬ ajax ν΅μ μ backend μ μ§ν.
comm.post({
context: 'common_web',
url: "/push/token/save",
params: {
pushToken: token,
mobileOs: comm.mobile.os
}
}, function (data) {});
μ μ½λλ /common_web/push/token/save URL λ‘ POST μμ²μ 보λ΄λ ajax μ μ ν¨μμ΄λ€.
ν΄λΉ ν΅μ μ μ€ννμμ λ, Response λ΄μ©μ΄ μμ μλ μν©μ΄ λ°μνλ€.
νΉμ§μΌλ‘λ Response μ λ΄κ²¨μ€λ λ΄μ© μμ²΄κ° μμΌλ©°
axios λΌμ΄λΈλ¬λ¦¬ response μν©μμλ 'Network Error' λΌκ³ λ§ λμ¨λ€.
ν΄λΉ λ¬Έμ κ° λ°μλλ νΉμ μ§μ μ λ°κ²¬νκΈ° νλλ©°, ν΄λΉ URLμ Response λν
200 OK λ₯Ό 무쑰건 리ν΄νλ URL μμλ λΆκ΅¬νκ³ Network Error κ° "IOS μ±(μΉλ·°μ¬μ©)" μν©μμλ§ λ°μνλ€.
3. λ¬Έμ ν΄κ²° μλ
Google μ κ²μ μ, μλμ κ°μ΄ κ²μνλ€.
λ¬Έμ λ₯Ό μ°Ύμλ³Έ κ²°κ³Ό, axios λΌμ΄λΈλ¬λ¦¬ μͺ½μμλ μ¬λλ€μ΄ μ§μμ μΌλ‘ λ¬Έμ μ κΈ°λ§ ν λΏ, μ΄λ λ€ ν ν΄κ²°μ± μ΄ μμΌλ©°
IOS12 λΆν° μ§μμ μΌλ‘ λ°μν λ¬Έμ μμ νμ ν μ μλ€.
ν΄λΉ κ²μ κ²°κ³Ό λ΄μμ κ²°κ΅ ν΄κ²°μ± μΌλ‘λ μλ²½νμ§ μμ§λ§
axios λͺ¨λ λμ λ¬Έμ κ° μλ ajax ν΅μ μ λ€λ₯Έ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νκ±°λ, μ§μ ꡬνν κ²μ κΆκ³ νλ€.
4. ν΄κ²°
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-type', 'application/json');
xhr.send(JSON.stringify(params));
xhr.onload = function () {
// do something to response
console.log("setPushToken result : " + this.responseText);
};
μμ κ°μ΄ ν΄λΉ URLλ‘ POST μμ²μ Xhr Request λ‘ λ³΄λ΄λ ν¨μλ₯Ό λ§λ€μ΄ μ¬μ©νμλ€.
μ΅μ΄ μΈκΈν λ¬Έμ λ ν΄κ²° λμλ€.
λ§μ½ μ κ· μ¬μ μ΄λ κΈ°ν λ€λ₯Έ νλ‘μ νΈμμ IOS λͺ¨λ°μΌ νκ²½μ μ§μνλλ‘ νλ νλ‘μ νΈκ° μκ³
νλ‘ νΈμμ axios λͺ¨λμ μ¬μ©νλ€λ©΄, μ μ¬νμ μΆ©λΆν κ³ λ €ν΄μ£Όμ΄μΌ νλ€.
λ°©λ²μ μ¬λ¬κ°μ§κ° μκ² μ§λ§ μλ λ°©λ² μ λκ° μ°μ νμ λ ν΄κ²° λ°©λ²μ΄λ€.
1. ios μΌλλ§ κ΅¬λΆμ μ£Όμ΄, λ¬Έμ κ° μκΈ°λ ꡬκ°μ μ μ²λΌ μλ‘ μ μνμ¬ ν΅μ νλ€.
2. κ³΅ν΅ ajax ν΅μ κ΅¬κ° ν¨μλ₯Ό μ‘μ λ, axios λΌμ΄λΈλ¬λ¦¬ λμ λ€λ₯Έ κ²μ μ¬μ©νλ€.