>웹 프론트엔드 >JS 튜토리얼 >내 jQuery Ajax 요청이 200 OK를 반환하지만 오류 이벤트를 트리거하는 이유는 무엇입니까?

내 jQuery Ajax 요청이 200 OK를 반환하지만 오류 이벤트를 트리거하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-27 18:11:13795검색

Why Does My jQuery Ajax Request Return 200 OK But Trigger the Error Event?

jQuery Ajax 요청은 성공(200 OK)을 반환하지만 오류 이벤트를 트리거합니다

jQuery Ajax 요청은 항상 성공을 나타내는 200 OK를 반환합니다. 응답. 그러나 jQuery는 여전히 성공 이벤트 대신 오류 이벤트를 실행하고 있습니다.

문제:

jQuery의 $.ajax를 사용할 때 dataType 매개변수가 다음으로 설정된 경우 "json"(코드에서와 같이)인 경우 서버의 응답이 유효한 JSON일 것으로 예상합니다. 그러나 귀하의 경우 서버 응답은 유효한 JSON이 아닌 HTML입니다. 이로 인해 jQuery에서 구문 분석 오류가 발생하고 오류 이벤트가 발생합니다.

해결책 1: dataType: 'json' 제거

한 가지 해결책은 귀하의 Ajax 요청. 이렇게 하면 jQuery가 응답을 서버에서 보내는 HTML을 포함하는 일반 텍스트로 해석할 수 있습니다.

$.ajax({
    type: 'POST',
    url: 'Jqueryoperation.aspx?Operation=DeleteRow',
    contentType: 'application/json; charset=utf-8',
    data: json,
    cache: false,
    success: AjaxSucceeded,
    error: AjaxFailed
});

해결책 2: 서버에서 JSON 반환

또는 HTML 대신 JSON을 반환하도록 서버 측 C# 코드를 수정할 수 있습니다. 이렇게 하면 jQuery가 응답을 올바르게 구문 분석하고 성공 이벤트를 실행할 수 있습니다.

private void test() {
    Response.ContentType = "application/json";
    Response.Write("{ \"message\": \"Record Deleted\" }");
}

이 수정을 통해 jQuery는 유효한 JSON 응답을 수신하고 예상대로 성공 이벤트를 트리거합니다.

위 내용은 내 jQuery Ajax 요청이 200 OK를 반환하지만 오류 이벤트를 트리거하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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