-
[JavaScript] Ajax 옛날방식과 요즘방식개발 2021. 11. 15. 10:33728x90
1. 옛날방식
<script> var ajax = new XMLHttpRequest(); ajax.onreadystatechange = function() { if(this.readyState == 4 && this.status == 200) { console.log(ajax.responseText) } }; ajax.open("GET", "https://www.naver.com/*.json", true); ajax.send(); </script>
* XMLHttpRequest
2. 요즘JS방식
fetch('https://www.naver.com/*.json') .then((response) => { if(!response.ok) { throw new Error('400 or 500'); } return response.json(); }) .then((결과) => { console.log(결과); }) .catch(() => { console.log('에러'); })
* fetch
위와 같이 then함수 붙는 건 지져분해서 싫다고 할때는 아래와 같이
async function getDataFun() { var response = await fetch('https://www.naver.com'); if(!response.ok) { throw new Error('400 or 500'); } var result = await response.json(); console.log(result); } getDataFun.catch(() => { console.log(Error); });
* awync
3. 외부라이브러리 방식
- jQuery : $.ajax()
- React, Vue : axios라는 라이브러리를 설치해서 많이 씀
<script src="https//cdnjs.cloudflare.com/ajax/lib/axios/0.24.0/axios.min.js"></scirpt> axios.get('https://www.naver.com/*.json) .then((result) => { console.log(result.data); }) .catch(() => { console.log('Error'); });
* axios
4. CORS 관련 에러
- 보안에러 관련 이슈인데, 그래도 굳이 쓰고싶다 할 경우
1) 헤더에 Access-Control-Allow-Origin : "*" 추가
2) Node.JS Server
var cors = require('cors) app.use(cors());
'개발' 카테고리의 다른 글
우분투 셋팅에 참고한 사이트 (0) 2021.12.22 그누보드 mail보내기( NO STMP, 별다른 설정X ) (0) 2021.12.22 [자바스크립트] 반복문 (0) 2021.11.07 이클립스 lombok 설치 (0) 2021.10.29 해시기호 반환 / 도메인에 붙은 #의 값을 얻어보자 / 크로스 브라우징 체크 / 앵커 반환 (0) 2021.10.05