var ajax = new XMLHttpRequesst();
ajax. onreadystatechange = function(){
if(this.readyState == 4){
if(this.status == 200){
console.log(ajax.responseText);
console.log(ajax.responseXML);
}
}
};
ajax.open("GET/POST", "호출 URL", true);
ajax.send();
fetch("URL 링크") // Promise 객체.
// 콜백 함수를 통해 동작 실행.
.then((response) => {
if(!response.ok){
throw new Error("400 또는 500 에러 발생!!!");
}
return response.json();
})
.then((result) => {
console.log(result);
})
.catch(() =>{
console.log("에러 발생!!!");
});
<script src = "https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
$(function(){
$.ajax({
type : "GET/POST",
url : "호출 URL",
dataType : "xml/json",
success: function(result){
//Todo Action
}
});
});
</script>
<script src = "https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script>
axios
.get("호출 URL")
.then((result) => {
console.log(result.data);
})
.catch(() => {
console.log("에러 발생!!!");
});
</script>
◾GET 방식과 POST 방식
- GET
- URL에 변수(데이터)를 포함시켜 요청.
- 데이터를 Header에 포함하여 전송.
- 데이터가 노출되어 보안 취약
- 길이 제한 O
- 캐싱 가능 (빠른 접근을 위해 레지스터에 데이터를 저장시키는 것.)
- POST
- URL에 변수(데이터)를 노출하지 않고 요청.
- 데이터를 Body(바디)에 포함.
- URL에 노출되지 않아 기본 보안을 달성.
- 길이 제한 X
- 캐싱 불가능
GET
방식 : url로부터 contents가 다운로드 됨.reseolve
reject
async/await
사용.// 선언
let promise = fetch(url, [options]);
// 사용
let response = await fetch(url);
if(response.ok){
// http status code가 200 ~ 299일 경우.
let json = await response.json();
}else{
alert("에러 발생 : "+response.status);
}
fetch("https://jsonplaceholder.typicode.com/posts/1")
.then((response) => response.json())
.then((data) => console.log(data.userId));
//.then((response) => response.text())
//.then((data) => console.log(data));
let config = {
method : "POST",
headers:{
"Content-Type" : "application/json",
},
body : JSON.stringify({
title : "안녕하세요.",
body : "싸피 여러분 좋은 결과 만들어요.",
userId : 1,
}),
};
fetch("https://jsonplaceholder.typicode.com/posts", config)
.then((response) => response.json())
.then((data) => console.log(data));
let config = {
method : "PUT",
headers:{
"Content-Type" : "application/json",
},
body : JSON.stringify({
title : "안녕하세요.",
body : "싸피 여러분 좋은 결과 만들어요.",
userId : 1,
}),
};
fetch("https://jsonplaceholder.typicode.com/posts", config)
.then((response) => response.json())
.then((data) => console.log(data));
fetch("https://jsonplaceholder.typicode.com/posts", {method : "DELETE"})
.then((response) => response.json())
.then((data) => console.log(data));
직렬화(Serialize)
, 역직렬화(Deserialize)
사용JSON.stringify
JSON.parse