반응형
오류 콜백에 사용할 AJAX 응답 본문을 가져오는 중
jQuery의 AJAX 오류 함수에는 다음 파라미터가 있습니다.
error(XMLHttpRequest, textStatus, errorThrown)
응답 본문을 얻는 가장 좋은 크로스 브라우저 방법은 무엇입니까?
이 기능은 모든 브라우저에서 작동합니까?
$.ajax({
error: function(http) {
alert(http.responseText);
}
});
jQuery 1.4.1에서는 다음을 사용해야 합니다.
var json = JSON.parse(xhr.responseText);
http://api.jquery.com/jQuery.parseJSON/ 를 참조해 주세요.
jquery 1.5 이후의 최신 일반적인 답변을 얻으려면 다음 개체를 사용합니다.
$.ajax(url).fail(function(jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
})
또는 이미 구문 분석된 응답 본문을 가져오는 데 사용할 수 있습니다.
$.ajax(url).fail(function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR.responseJSON);
})
jQuery를 사용한 간단한 사용 예:
var url = '/';
$.get(url).then(
function(response) {
$("#result").html(response);
},
function(jqXHR) {
$("#result").html('Error occurred: '+ jqXHR.statusText + ' ' + jqXHR.status);
}
);
그러면 현재 웹 사이트의 첫 페이지에 있는 HTML이 반환됩니다.
그런 다음 존재하지 않는 넌센스 URL을 입력해보고 에러가 발생했음을 확인합니다.웹 서버에서 "404 Not Found"를 받아야 합니다.테스트: JSFiddle은 이쪽
응답이 CORS 검사를 통과하지 못할 경우 차체를 받을 수 없습니다.
XHR에서 데이터를 추출할 수 있는 숨겨진 함수가 있습니다.
var responseText = $.httpData(xhr)
합격하면"json"두 번째 파라미터로 응답을 JSON 문자열로 처리합니다.
응답이 없기 때문에(네트워크의 문제 등) 에러가 표시되는 경우가 있습니다.그 사건도 꼭 취재해 주세요.또, jQuery는 (확실하지 않은) 다음 명령어를 호출합니다.error서버가 반환하는 경우 핸들러4xx또는5xx상황.
언급URL : https://stackoverflow.com/questions/2084484/getting-ajax-response-body-for-use-in-error-callback
반응형
'codememo' 카테고리의 다른 글
| ASP 취득 방법UpdateTargetId에 뷰를 삽입하는 대신 새 페이지로 리디렉션하는 NET MVC Ajax 응답 (0) | 2023.03.04 |
|---|---|
| 사용자 지정 주문 메타를 woocommerce 전자 메일로 호출합니다. (0) | 2023.03.04 |
| MongoDB - $size 인수는 어레이여야 하지만 유형: EOO / missing (0) | 2023.02.27 |
| Angular를 사용하는 방법선행 0을 가지도록 숫자를 포맷하는 JS 필터? (0) | 2023.02.27 |
| 디렉티브 스코프 인수를 사용한 디렉티브 부모 스코프의 콜 함수 (0) | 2023.02.27 |