>  기사  >  웹 프론트엔드  >  Ajax에서는 언제 오류가 사용됩니까?

Ajax에서는 언제 오류가 사용됩니까?

WBOY
WBOY원래의
2021-12-23 17:17:362184검색

오류 사용법: 1. 백그라운드에서 반환된 데이터 유형이 프런트엔드에 작성된 것과 일치하지 않을 때 사용됩니다. 2. 비동기가 동기화를 요청하고 비동기 문제가 발생할 때 사용됩니다. 3. 데이터가 비어 있을 때 사용됩니다. 전달된 매개변수는 ajax에서 지원하는 인코딩 형식을 사용하지 않습니다.

Ajax에서는 언제 오류가 사용됩니까?

이 기사의 운영 환경: windows7 시스템, javascript1.8.5&&html5 버전, Dell G3 컴퓨터.

ajax에서 error는 언제 사용되나요?

  • dataType 오류(dataType은 백그라운드에서 반환되는 매개변수 유형을 지정하는 데 사용됩니다.)

Type 오류: 백그라운드에서 반환되는 dataType 유형입니다. 프런트엔드에 작성된 내용과 일치하지 않습니다. 오류로 이동합니다.

형식 오류: jquery1.4 이후에는 json에 대한 형식 요구 사항이 매우 엄격합니다. JSON 형식 오류도 오류로 이동합니다.{"test":1} 형식에 주의하세요

때때로 반환 값이 그렇지 않은 경우 필요한 경우 버튼 템플릿 형식, dataType: "json" 매개변수가 설정되어 있습니다. ajax 값이 올바른 경우 200 반환 성공 상태에 오류가 보고되는 특별한 상황이 발생합니다.

지정하지 않으면 jQuery는 HTTP 패키지의 MIME 정보를 기반으로 자동으로 지능적인 판단을 내립니다. 예를 들어 XML MIME 유형은 XML로 인식됩니다. 1.4에서는 JSON이 JavaScript 객체를 생성하고 스크립트가 스크립트를 실행합니다. 그런 다음 서버에서 반환된 데이터는 이 값을 기반으로 구문 분석되어 콜백 함수에 전달됩니다. 사용 가능한 값:

"xml": jQuery로 처리할 수 있는 XML 문서를 반환합니다.

"html": 일반 텍스트 HTML 정보를 반환합니다. 포함된 스크립트 태그는 DOM에 삽입될 때 실행됩니다.

"script": 일반 텍스트 JavaScript 코드를 반환합니다. 결과는 자동으로 캐시되지 않습니다. "cache" 매개변수가 설정되지 않은 경우. 참고: 원격 요청(동일한 도메인이 아닌)을 수행하는 경우 모든 POST 요청은 GET 요청으로 변환됩니다. (DOM 스크립트 태그를 사용하여 로드하기 때문입니다.)

"json": JSON 데이터를 반환합니다.

"jsonp": JSONP 형식. "myurl?callback=?"과 같은 JSONP를 사용하여 함수를 호출하면 jQuery는 콜백 함수를 실행하기 위해 자동으로 ?를 올바른 함수 이름으로 바꿉니다.

"text": 일반 텍스트 문자열을 반환합니다.

  • Async 요청 동기화 및 비동기 문제

async 기본값은 true(비동기 요청)입니다. need to async=false

예를 들어 post 요청을 사용하여 다른 페이지의 배경에 값을 전달했지만 페이지가 로드되자마자 ajax가 이미 실행되었으며 값 수신이 배경에서 완료되었습니다. 현재로서는 데이터를 요청할 수 없으므로 ajax 요청을 동기 시도로 변경하는 것을 고려할 수 있습니다.

  • 데이터를 작성해야 합니다.

데이터가 비어 있으면 "{}"를 전달해야 합니다. 그렇지 않으면 반환되는 데이터는 xml 형식입니다. 그리고 parsererror.data를 표시합니다:”{}”

parsererror의 예외는 헤더 유형과도 관련이 있습니다. 그리고 인코딩 헤더('Content-type: text/html; charset=utf8');

  • 전달된 매개변수

는 ajax에서 지원하는 인코딩 형식이어야 합니다

  • URL 경로 문제

경로에 한자가 포함될 수 없습니다.

일반적으로 오류의 일부 매개변수를 분석하여 오류의 원인을 판단할 수 있습니다.

XMLHttpRequest.readyState: 상태 코드

0 - (초기화되지 않음) send() 메서드 아직 호출되지 않았습니다

1 - (로딩 중) send() 메소드가 호출되었으며 요청이 전송 중입니다

2 - (로딩 완료) send() 메소드가 실행되었으며 응답 내용이 모두 수신되었습니다.

3 - (상호작용) 응답 콘텐츠가 구문 분석 중입니다

4 - (완료) 응답 콘텐츠 구문 분석이 완료되었으며 클라이언트에서

XMLHttpRequest.status를 호출할 수 있습니다. http 요청 상태 호출

요청이 많습니다. 특정 오류 상태 코드가 발생하면 Baidu에서 쿼리할 수 있습니다.

XMLHttpRequest.responseText: 반환된 오류 메시지

오류가 발생하면 오류 메시지(두 번째 매개변수)는 null 외에 "timeout", "error", "notmodified" 및 "parsererror"일 수 있습니다.

【관련 튜토리얼 추천: AJAX 동영상 튜토리얼

위 내용은 Ajax에서는 언제 오류가 사용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.