readyState vs status==200
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}
위의 코드는 http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp 에서 취득한 것입니다.
질문:.
이 튜토리얼에 따르면:
readyState: 4: request finished and response is ready
status: 200: "OK"
When readyState is 4 and status is 200, the response is ready:
언제부터xmlhttp.readyState == 4
, 응답은 준비되었습니다.왜 아직도 필요한가요?xmlhttp.status == 200
?의 차이는 무엇입니까?xmlhttp.readyState == 4
그리고.xmlhttp.status == 200
?
응답 상태,xhr.status
요구의 성공 여부를 판별하기 위해 사용됩니다. xhr.readyState
는, 「아직 송신되지 않았다」(0), 「완료 및 응답 수신」(4) 등, 요구의 상태를 판단하기 위해서 사용합니다.
서버는, 다음의 정보를 제공할 책임이 있습니다.status
사용자 에이전트가 제공하는 동안readyState
.
status는 서버 응답이 정상인지 여부를 나타냅니다.
일반적으로, 당신이 지위를 얻었을 때
500-599: 서버에 오류가 발생했습니다.
400 - 499 :클라이언트 오류입니다(예: 404 페이지를 찾을 수 없습니다).
300 - 399: 그러면 리다이렉트가 존재합니다.
200 - 299 :그렇다면 정확하고
100 ~ 199 : 정보 메시지
그런 다음 status==200이라는 메시지가 뜨면 서버가 '저기, 제가 할게요!'라는 메시지를 표시합니다.
내 비유: 환자를 태운 구급차가 병원으로 가고 있다.이 시나리오에서는 패밀리(클라이언트)와 병원(서버)이 2가지 사항을 파악해야 합니다.
- 구급차가 성공적으로 병원에 도착했다.(
readyState
) - 이 과정 중 환자의 상태 업데이트.(
status
)
한다면readyState === 4
그리고.status === 200
, 모든 것이 괜찮다는 것을 의미합니다.같은 방법으로 Ajax 콜이 동작합니다.
readyState XMLHttpRequest 상태를 유지합니다.0에서 4로의 변경:
0: 요청이 초기화되지 않았습니다.
1: 서버 접속 확립
2: 요청 수신
3: 요청 처리
4: 요청 완료 및 응답 준비 상태 200: "OK" 404: 페이지를 찾을 수 없습니다.
서버측 코드에 에러가 있는 것을 확인해 주세요.페이지를 요청하면 서버가 응답 스트리밍을 종료하면 readyState는 4가 되지만 상태 코드는 500(또는 500)이 됩니다.
readyState XMLHttpRequest 상태를 유지합니다.
0: 요청이 초기화되지 않았습니다.
1: 서버 접속 확립
2: 요청 수신
3: 요청 처리
4: 요청이 완료되었으며 응답 준비가 완료됨
status 요청 상태 번호를 반환합니다.
200: "OK"
403: "금지"
404: "찾을 수 없음"
응답 메시지에 대한 자세한 내용은 다음 사이트를 참조하십시오.
https://www.w3schools.com/tags/ref_httpmessages.asp
readyState
는요구의응답입니다.응답의 취득을 완료하고 확인할 것이 있을 때 4가 됩니다.수 없기 하셔야 .status
반환되었습니다.
onreadystatechange=function()은 서버로부터 응답을 받았을 때만 실행됩니다.서버로부터 응답을 받으면 4로 표시된 요청이 완료되었음을 의미합니다.그리고 200은 그 상태가 맞다는 것을 알려준다."4: request completed and response is ready status 200" 페이지를 찾을 수 없는 경우 상태 404가 표시됩니다.
일러스트:본인(클라이언트)이 여자친구(서버)에게 소포를 보내지만, 여자친구(서버)의 서명이 필요합니다(200 - 서명 또는 404 - 미서명).소포의 상태를 확인하실 수 있습니다(0 - 우체국, 4 - 발송).패키지가 시설에서 나오면 배송이 종료됩니다(4).그러나 택배가 도착했을 때 여자친구가 집에 없으면 서명하지 않은 상태로 우체국으로 돌아갑니다(404).
이것에 의해, 패키지(4)에 관한 스테이터스와 배송이 성공했는지를 수신할 수 있다(404).AJAX를 사용하면 서버에 요청을 할 수 있습니다.요청된 정보(서버 상태(데이터/문서 발견 여부 포함)를 얻으면 내용을 표시하기 전에 분석을 위해 수신자(클라이언트)로 반송됩니다.
언급URL : https://stackoverflow.com/questions/17561463/readystate-vs-status-200
'programing' 카테고리의 다른 글
jQuery: Ajax를 통해 모달 대화 상자 내용 로드 (0) | 2023.03.18 |
---|---|
많은 클래스가 없는 GSON 구문 분석 (0) | 2023.03.18 |
JSON에서 커스텀 Json Converter를 구현하는 방법.인터넷? (0) | 2023.03.13 |
왜 앵글은JS 문서는 모델 지시문에 점을 사용합니까? (0) | 2023.03.13 |
Angular에서 링크 기능을 실행하기 전에 컨트롤러에서 데이터를 기다립니다.JS 지시어 (0) | 2023.03.13 |