1. Ajax란
자바스크립트를 이용해 비동기적으로 서버와 브라우저가 데이터를 교환할 수 있는 통신 방식
페이지 전체 로드가 아닌 갱신할 부분만 갱신한다
2. JSON
클라이언트와 서버 간 데이터 교환을 위한 데이터 포맷
순수 텍스트로 구성된 규칙 있는 데이터 구조
1 | { |
2.1 JSON.stringify
객체를 JSON으로 바꿔준다.
첫 번째 인수로 객체, 두 번째 인수로 함수(옵션), 세 번째로 공백으로 사용되는 스페이스의 수(옵션)를 전달할 수 있다.
1 | const man = { name: "Yu", location: "earth", age: 32 }; |
2.2 JSON.parse
JSON을 객체 or 배열로 변환한다.
1 | const man = { name: "Yu", location: "earth", age: 32 }; |
3. XMLHttpRequest
XMLHttpRequest 객체를 이용해 Ajax 요청을 전송할 수 있다.
3.1 Ajax 요청 순서
3.1.1 XMLHttpRequest.open
1 | // XMLHttpRequest 객체의 생성 |
3.1.2 XMLHttpRequest.send
1 | // XMLHttpRequest 객체의 생성 |
3.1.3 XMLHttpRequest.setRequestHeader
HTTP Request Header의 값을 설정
반드시 XMLHttpRequest.open 메소드 호출 이후에 호출해야 함
타입 | 서브타입 |
---|---|
text 타입 | text/plain, text/html, text/css, text/javascript |
Application 타입 | application/json, application/x-www-form-urlencode |
File을 업로드하기 위한 타입 | multipart/formed-data |
1 | // json으로 전송하는 경우 |
3.2 Ajax response
1 | // XMLHttpRequest 객체의 생성 |
readXMLHttpRequest.readyState의 값
value | state | Description |
---|---|---|
0 | UNSENT | XMLHttpRequest.open() 메소드 호출 이전 |
1 | OPENED | XMLHttpRequest.open() 메소드 호출 완료 |
2 | HEADERS_RECEIVED | XMLHttpRequest.send() 메소드 호출 완료 |
3 | LOADING | 서버 응답 중(XMLHttpRequest.responseText 미완성 상태) |
4 | DONE | 서버 응답 완료 |
If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !