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 중국어 웹사이트의 기타 관련 기사를 참조하세요!