업무 중 비동기 통신으로 jsp에서 문자열을 받아오고 싶은데 라이브러리 없이 바닐라js로 해야하는 상황이 있었다.
찾아보니 대표적으로 XMLHttpRequest(XHR)과 Fetch API를 사용하는 두가지 방법이 있었는데 첫번째 방법으로 해결했다.
getUserInfo() {
let jspRes = null;
let trimmedRes = null;
let id = null;
// XMLHttpRequest 객체 선언
const xhr = new XMLHttpRequest();
// ('방식', 'url', '비동기여부(true가 비동기)')
xhr.open('GET', '여기에 url 입력', false);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
// xhr의 response를 변수에 저장
jspRes = xhr.response;
// 문자열 trim
trimmedRes = jspRes.split('[');
id = trimmedRes[1].split(']');
}
};
xhr.send();
return {
"result": "1234",
"userId": id[0],
"userNm": "유저이름"
};
}
시간을 너무나 허비했지만 해결되어서 다행이다...
이 밖에도 앞서 언급한 fetch() 함수를 이용하는 방법과
라이브러리를 사용한 jquery, axios 등의 방법이 있는것 같다.
참고 :
[JS🐣] 비동기 통신 이해하기(XHR과 Fetch API)
브라우저에서 폼을 채우고 이를 웹 서버로 제출(submit)하면 웹 서버는 요청된 내용에 따라서 데이터를 가공하여 새로운 웹페이지를 작성하고 응답으로 되돌려준다.전체 페이지를 reload하기 때문
velog.io
https://m.blog.naver.com/dndlab/221783285664
[블로그] Javascript에서의 비동기 통신
AJAX, 웹 개발을 하는 분 들 이라면 많이 들어본 말일 것 같습니다. 이는 비동기 웹사이트를 만들기 위...
blog.naver.com
'Javascript' 카테고리의 다른 글
JavaScript Promise (callback & async) (0) | 2023.01.18 |
---|---|
* 자바스크립트 함수 프로토타입 정리 * (0) | 2022.06.24 |
로또 번호 추첨기 (0) | 2022.06.22 |
자바 스크립트 콘솔 메소드 정리 (0) | 2022.06.22 |