비동기 요청 ajax 및 get 과 post 차이
1. xhr
var xhr = null;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{ ie6
xhr = new ActiveXObject("Microsoft.XMLHttpRequest");
}
XMLHttpRequest
JS ,window ( Object,Function... ), 。 window.XMLHttpRequest window 。 , firefox,opera,safiar,IE7.0,IE8.0( window ) ,window XMLHttpRequest , IE6.0,5.5 ,IE6.0 5.5 , window.ActiveXObject 。 XMLHttpRequest
2. ,
xhr.onreadystatechange = function(){
if(xhr.readyState === 4){ 4. ,
if(xhr.status === 200){ 200.
console.log("XHR "+xhr.responseText);
}esle{
console.log(" ajax "+xhr.status);
}
}
}
onreadystatechange
저장 함수 (또는 함수 명) 는 ready State 속성 이 바 뀔 때마다 이 함 수 를 호출 합 니 다.
readyState XML HttpRequest 가 저 장 된 상태 입 니 다.0 에서 4 까지 변화 가 일어나다
0 요청 초기 화 되 지 않 음
1 서버 연결 이 완료 되 었 습 니 다
2 서버 접수 됨
3 요청 처리 중
4 요청 이 완료 되 었 고 응답 이 완료 되 었 습 니 다.
status 응답 상태 코드 (맨 아래 대조 표 있 음)
1xx 정보 클래스 오류
2xx 성공 표시 200
3xx 리 셋 304
4xx 클 라 이언 트 오류 404
5xx 서버 오류
이 status 속성 은 HTTP 상태 코드 를 설명 합 니 다. ready State 값 이 3 (수신 중) 또는 4 (불 러 온) 일 때 만 이 status 속성 을 사용 할 수 있 습 니 다.ready State 의 값 이 3 보다 적 을 때 status 에 접근 하려 는 값 이 이상 합 니 다.
xhr.responseText 응답 데이터 획득
GET
3.
xhr.open("GET",url+ , ("?uname= &age=16"),true) true ,
4.
xhr.send()
POST
3.
xhr.open("POST",url,true)
post ,
4.
// xhr.setRequestHeader("Content-type","application/json; charset=utf-8"); json
// xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
// xhr.setRequestHeader("Content-type", "text/plain; charset=utf-8");
// xhr.setRequestHeader("Content-type", "text/html; charset=utf-8"); HTML
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
5.
xhr.send( )
방법.
묘사 하 다.
open(method,url,async)
요청 의 유형, URL, 비동기 처리 여 부 를 규정 합 니 다.
서버 에 요청 을 보 냅 니 다.
번호
방법.
묘사 하 다.
1
GET
지정 한 페이지 정 보 를 요청 하고 실체 주 체 를 되 돌려 줍 니 다.
2
HEAD
get 요청 과 유사 합 니 다. 되 돌아 오 는 응답 에는 구체 적 인 내용 이 없습니다. 헤 더 를 가 져 오 는 데 사 용 됩 니 다.
3
POST
지정 한 자원 에 데 이 터 를 제출 하여 처리 요청 (예 를 들 어 폼 을 제출 하거나 파일 을 업로드 하 는 것).데 이 터 는 요청 체 에 포함 되 어 있 습 니 다.POST 요청 은 새로운 자원 의 구축 과 / 또는 기 존 자원 의 수정 을 초래 할 수 있 습 니 다.
4
PUT
클 라 이언 트 에서 서버 로 전 송 된 데 이 터 는 지정 한 문서 의 내용 을 대체 합 니 다.
5
DELETE
서버 에 지정 한 페이지 를 삭제 해 달라 고 요청 합 니 다.
6
CONNECT
HTTP / 1.1 프로 토 콜 은 연결 을 파이프 방식 으로 변경 할 수 있 는 프 록 시 서버 에 미리 남 겨 두 었 습 니 다.
7
OPTIONS
클 라 이언 트 가 서버 의 성능 을 볼 수 있 도록 합 니 다.
8
TRACE
리 턴 서버 에서 받 은 요청 은 주로 테스트 나 진단 에 사 용 됩 니 다.
GET 요청 과 POST 요청 의 차이
간단하게:
get 정 보 는 주소 표시 줄 에 표시 되 며, 보안 은 post 보다 낮 습 니 다.
get 한 번 에 보 내 는 정 보 는 2000 문자 정도 로 제한 되 어 있 으 며, post 는 제한 이 없습니다.
get 은 url 인 코딩 만 할 수 있 고 POST 는 다양한 인 코딩 방식 을 지원 합 니 다.
https://www.cnblogs.com/logsharing/p/8448446.html (get 과 post 의 차 이 를 소개 하 는 블 로 그 를 추천 합 니 다)
Ajax status 와 status Text 상태 대조 표
status
statusText
설명 하 다.
0**
-
초기 화 되 지 않 음
1**
-
요청 받 았 습 니 다. 계속 처리 하 세 요.
100
Continue
고객 은 계속 요청 을 해 야 합 니 다.
101
Switching protocols
클 라 이언 트 는 서버 가 요청 에 따라 HTTP 프로 토 콜 버 전 을 변환 하도록 요구 합 니 다.
2**
-
조작 성공 수령, 분석, 수용
200
OK
거래 성공
201
Created
새 파일 의 URL 알 기
202
Accepted
받 아들 이 고 처리 하지만 처리 가 완료 되 지 않 았 습 니 다.
203
Non-Authoritative Information
정보 가 불확실 하거나 완전 하지 않 음 을 되 돌려 줍 니 다.
204
No Content
받 아 달라 고 요 청 했 지만 되 돌아 오 는 메시지 가 비어 있 습 니 다.
205
Reset Content
서버 가 요청 을 완 료 했 습 니 다. 사용자 프 록 시 는 현재 탐색 한 파일 을 복원 해 야 합 니 다.
206
Partial Content
서버 에서 일부 사용자 의 GET 요청 이 완료 되 었 습 니 다.
3**
-
이 요청 을 완성 하려 면 더 처리 해 야 합 니 다.
300
Multiple Choices
요청 한 자원 은 여러 곳 에서 얻 을 수 있 습 니 다.
301
Moved Permanently
요청 데이터 삭제
302
Found
다른 주소 에서 요청 데 이 터 를 발 견 했 습 니 다.
303
See Other
고객 이 다른 URL 이나 접근 방식 에 접근 하 는 것 을 권장 합 니 다.
304
Not Modified
클 라 이언 트 가 GET 를 실 행 했 지만 파일 은 변 하지 않 았 습 니 다.
305
Use Proxy
요청 한 자원 은 서버 가 지정 한 주소 에서 받 아야 합 니 다.
306
이전 버 전 HTTP 에서 사 용 된 코드 는 현 행 버 전에 서 사용 되 지 않 습 니 다.
307
Temporary Redirect
요청 한 자원 임시 삭제 설명
4**
-
오류 문법 을 포함 하거나 완료 할 수 없 음 을 요청 합 니 다.
400
Bad Request
문법 오류 와 같은 오류 요청
401
Unauthorized
인증 요청 실패
402
Payment Required
유효한 ChargeTo 헤더 응답 유지
403
Forbidden
요청 이 허용 되 지 않 습 니 다 (서버 에 있 는 파일 이나 디 렉 터 리 의 권한 설정 으로 인해 자원 을 사용 할 수 없습니다)
404
Not Found
파일, 조회, URL 이 발견 되 지 않 았 습 니 다. (지정 한 자원 을 찾 을 수 없 음)
405
Method Not Allowed
사용자 가 Request - Line 필드 에서 정의 하 는 방법 은 허용 되 지 않 습 니 다.
406
Not Acceptable
사용자 가 보 낸 Accept 지연 에 따라 자원 에 접근 할 수 없습니다.
407
Proxy Authentication Required
401 과 유사 하여 사용 자 는 먼저 프 록 시 서버 에서 권한 을 수 여 받 아야 합 니 다.
408
Request Timeout
클 라 이언 트 가 사용자 가 지정 한 배 고 픈 시간 내 에 요청 을 완료 하지 않 았 습 니 다.
409
Conflict
현재 자원 상태 에 대한 요청 이 완료 되 지 않 았 습 니 다.
410
Gone
서버 에 더 이상 이 자원 이 없고 참고 주소 가 없습니다.
411
Length Required
서버 가 사용자 정의 Content - Length 속성 요청 을 거부 합 니 다.
412
Precondition Failed
현재 요청 에서 하나 이상 의 요청 헤더 필드 가 잘못 되 었 습 니 다.
413
Request Entity Too Large
요청 한 자원 이 서버 가 허용 하 는 크기 보다 큽 니 다.
414
Request-URI Too Long
요청 한 자원 URL 은 서버 가 허용 하 는 길이 보다 깁 니 다.
415
Unsupported Media Type
요청 자원 은 요청 항목 형식 을 지원 하지 않 습 니 다.
416
Requested Range Not Suitable
요청 에는 Range 요청 헤더 필드 가 포함 되 어 있 습 니 다. 현재 요청 자원 범위 내 에 range 지시 값 이 없고 요청 에 도 If - Range 요청 헤더 필드 가 포함 되 어 있 지 않 습 니 다.
417
Expectation Failed
서버 가 요청 Expect 헤드 필드 에서 지정 한 기대 치 를 만족 시 키 지 못 합 니 다. 프 록 시 서버 라면 다음 서버 가 요청 을 만족 시 키 지 못 할 수도 있 습 니 다.
5**
-
서버 에서 완전 유효 요청 을 실행 하 는 데 실 패 했 습 니 다.
500
Internal Server Error
서버 내부 오류 발생
501
Not Implemented
서버 에서 요청 한 함 수 를 지원 하지 않 습 니 다.
502
Bad Gateway
서버 를 잠시 사용 할 수 없습니다. 시스템 과부하 가 발생 하지 않도록 하기 위해 서 입 니 다.
503
Service Unavailable
서버 과부하 또는 일시 정지
504
Gateway Timeout
관문 이 과부하 되 었 습 니 다. 서버 는 다른 관문 이나 서 비 스 를 사용 하여 사용자 에 게 응답 하고 대기 시간 설정 치가 비교적 깁 니 다.
505
HTTP Version Not Supported
서버 에서 지정 한 HTTP 버 전 을 지원 하지 않 거나 거부 합 니 다.
12029
an unknown error occurred while processing the request on the server. the status code returned from the server was : 12029
원인: 인터넷 이 통 하지 않 습 니 다. 새로 고침 하면 알 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.