티스토리 뷰
반응형
아래 소스코드는 jQuery에서 제공하는 ajax가 모듈이 질려, XMLHttpRequest를 이용하여 동기/POST 방식으로 HTTP request와 response를 수행하는 함수를 구현한 것이다. 코드가 간단하다보니 상세한 설명은 생략.
function Req() {
this.url = undefined
this.data = {}
this.method = "POSt"
this.responseType = "json"
this.requestHeader = "application/x-www-form-urlencoded"
this.request = new XMLHttpRequest()
this.getQueryString = () => {
return Object.entries(this.data).map(e => e.join('=')).join('&')
}
this.async = () => {
if(!this.request) {
console.error("Can't make request.")
return false
}
this.request.open(this.method, this.url, false)
this.request.setRequestHeader("Content-Type", this.requestHeader)
let result = undefined
this.request.addEventListener("readystatechange", function (event) {
const { target } = event;
if (target.readyState === XMLHttpRequest.DONE) {
const { status } = target;
if (status === 0 || (status >= 200 && status < 400)) {
result = target.response
}
}
})
this.request.send(this.getQueryString())
return JSON.parse(result)
}
}
사용 예시는 아래와 같다.
function modifyPassword(name, email) {
const req = new Req()
req.url = "/findaccount/check_name_email"
req.data = { name: name, email: email }
const result = req.async()
let message = "회원 정보가 존재하지 않습니다."
if(result.is_success) {
message = `
회원님의 비밀번호를 초기화 하였습니다. <br/><br/>  
- 아이디 : ${result.user_id} <br />  
- 비밀번호 : ${result.new_password}`
}
validationBox.innerHTML = `
<div class="alert alert-dismissible alert-info">
${message}
<button type="button" class="close alertclose">×</button>
</div>`
}
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- FCFS
- scan
- C-LOOK
- 크로스플랫폼
- 병행성
- QT
- 섹터 큐잉
- 세그먼테이션
- grpc
- 주식
- 파이썬
- MoM
- 스위프트
- 동시성
- vmin
- 메시지지향미들웨어
- PFF
- look
- SSTF
- c#
- 페이징
- N-step SCAN
- 수요
- 병렬성
- Cocos2d-x
- C-SCAN
- 고독
- 스와핑
- 중요성
- 차이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함