>백엔드 개발 >PHP 튜토리얼 >Ajax 교차 도메인 요청 시 파서 오류에 대한 오류 솔루션

Ajax 교차 도메인 요청 시 파서 오류에 대한 오류 솔루션

小云云
小云云원래의
2018-01-08 13:23:534577검색

이 기사에서는 주로 Ajax 교차 도메인 요청 시 발생하는 파서 오류에 대한 완벽한 솔루션을 제공합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다. 편집자를 따라 살펴보겠습니다. 모두에게 도움이 되기를 바랍니다.

Ajax 요청에 의해 보고되는 파서 오류 오류는 매우 광범위한 개념입니다.

많은 경우 Ajax 제출 및 반환도 정상입니다

XMLHttpRequest.status=200(정상 응답)

XMLHttpRequest.readyState=4 (정상 수신)

ajax에서는 구문 분석 오류 오류도 표시됩니다.

이 오류는 대부분 나쁜 쓰기 습관이나 부적절한 문법으로 인해 발생합니다.

Ajax 오류의 경우 다음을 사용하세요.

error:function(XMLHttpRequest, textStatus, errorThrown){
   $("p").html(textStatus);
   $("p").append("<br/>"XMLHttpRequest.status);
   $("p").append("<br/>"XMLHttpRequest.readyState);
   $("p").append("<br/>"XMLHttpRequest.responseText);
}

또는 :

$("p").ajaxError(function(event,request, settings){
   $(this).append("<li>出错页面:" + settings.url + "</li>");
});

분석을 위한 오류 관련 정보를 가져옵니다.

textStatus는 null, "timeout", "error", "notmodified" 및 "parsererror"를 제외하고 반환됩니다.

XMLHttpRequest 객체는 상태, ReadyState, responseText 및 기타 속성을 사용하여 서버에서 반환된 HTTP 코드, 처리 상태 및 텍스트 콘텐츠를 얻을 수 있습니다.

ajax 및 관련 애플리케이션 개발 프로세스를 사용할 때는 다음에 따라 프로그램을 작성해야 합니다. 오류를 줄이기 위한 표준

이 표준에는 구문, 데이터 형식, 구두점 등이 포함됩니다.

Ajax 교차 요청, 데이터가 비어 있으면

data: "{}",

ajax를 사용하세요. 처리 서버는 Json을 반환합니다. 데이터 형식을 지정할 때 $.parseJSON() 메서드를 사용하면

그러면 서버에서 반환되는 Json 데이터 형식은 표준 Json 형식으로 작성되어야 합니다.

문자는 대신 큰따옴표로 묶어야 합니다. 작은 따옴표, 숫자 값 및 부울 유형 중 null이 사용되지 않습니다.

이는 주로 일부 이전 jquery 버전의 작은 따옴표와 큰 따옴표의 차이로 인해 발생합니다.

ajax 교차 도메인 요청(jsonp)에서 서버에서 반환된 데이터 형식은 다음과 같아야 합니다.

myCallbackFunction({"id":1,"name":"C#","is_familiar":true});

다음에 세미콜론 ";"이 있어야 합니다. 추가해야 하는 이 함수의 끝

그렇지 않으면 동일한 페이지에 여러 개의 ajax 요청이 있고 데이터가 반환되지 않는 경우 다른 ajax 요청이 발행되면

parsererror 오류 메시지가 나타날 수 있습니다.

이런 종류의 오류는 매우 숨겨져 있으며 개발 중에 쉽지 않습니다. 동시 테스트 중에 쉽게 노출되는 것으로 나타났습니다.

관련 권장 사항:

Ajax 교차 도메인 액세스의 쿠키 손실 문제에 대한 해결 방법_AJAX 관련

JS는 Ajax 도메인 간 요청 플라스크 응답 콘텐츠를 구현합니다

Ajax 도메인 간 요청 원칙에 대한 자세한 예

위 내용은 Ajax 교차 도메인 요청 시 파서 오류에 대한 오류 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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