1. 서버로 요청을 보내는 코드
- 라이브러리가 없을 때 : 브라우저가 지원하는 XMLHttpRequest 객체를 이용한다.
- AJAX요청이 있을 때 : Axios 라이브러리를 사용한다.(HTML 아래에 스크립트를 추가한다.) => 편리함
* Ajax (Asynchronous JavaScript and XML) : 자바스크립트를 이용해서 비동기식으로 XML을 이용하여 서버와 통신하는 방식
* 최근에는 XML 보다 JSON을 더 많이 사용한다.
2. 요청과 응답
- 브라우저는 Ajax요청을 담당하는 XMLHttpRequest라는 객체를 구현하고 있다.
- 요청 : 브라우저는 서버에 정보를 요청한다.
- 응답 : 서버는 응답으로 데이터를 전달한다.(XML, JSON)
브라우저는 콘텐츠를 처리하여 페이지에 추가한다.
1) GET 요청 보내기
<script src = "https://unpkg.com/axios/dist.mis.js"></script> //주소 스크립트 하나만 넣으면
//promise를 적용한 스크립트
<script>
axios.get('주소') //promise를 반환한다. 브라우저에서 사용가능하다.(노드에서는 사용방법이 다르다.)
.then((result) => {
console.log(result)
console.log(result.data)
})
.catch((error) => { //비동기는 항상 응답에 실패할 것을 대비해야한다.
console.error(err)
})
</script>
//promise를 async로 변환한 스크립트
<script>
( async() => { //비동기함수를 즉시 실행한다.
try{ //try는 then과 같은 역할
const result = await axios.get('주소') //axios라이브러리를 이용해 주소 요청에 성공했다면 result에 값을 넣어라.
console.log(result)
console.log(result.data) //요청에 성공한 result의 data를 콘솔창에 반환해라.
}catch(error){
console.error(err) //에러가 잇으면 에러를 출력해라.
}
}) ( )
</script>
2) POST 요청 보내기(데이터를 담아 서버로 보내는 경우)
(async () => {
try{
const result = await axios.post('주소', {
name: 'zerocho', //로그인 시 사용자 정보를 보낸다.
birth: 1994,
})
console.log(result)
console.log(result.data)
}catch(error){
console.error(err)
}
}) ( )
728x90
'Node.js' 카테고리의 다른 글
간단한 서버 구현하기 (0) | 2023.08.13 |
---|---|
Formdata (0) | 2023.06.29 |
널병합 연산자 / 옵셔널 체이닝 (0) | 2023.06.29 |
<Map / Set> (0) | 2023.06.29 |
비동기 : async/await (0) | 2023.06.29 |