programing

$.ajax 유틸리티의 JQuery 오류 옵션

lovejava 2023. 2. 23. 21:56

$.ajax 유틸리티의 JQuery 오류 옵션

매뉴얼에서는 error: option 함수가 사용 가능하게 하는 것을 나타내고 있습니다.XHR 인스턴스, 상태 메시지 문자열(이 경우 항상 오류), XHR 인스턴스에서 반환되는 옵션 예외 객체(Book: JQuery in Action)

다음 ($.ajax 호출에서) "parserror" 및 "timeout" 오류가 발생했음을 확인할 수 있었습니다(timeout: 옵션을 추가했기 때문에).

error: function(request, error){}

error 옵션에서 평가하는 다른 사항은 무엇입니까?옵션 예외 개체를 포함합니까?

EDIT: 정답 중 하나는 모든 반환 오류를 나타냅니다.XHR 인스턴스 및 예외 객체의 가치(디버깅용)에 대해 자세히 알아두면 도움이 됩니다.

$.ajax 콜은 다음과 같습니다.

$.ajax({
 type: "post",
 url: "http://myServer/cgi-bin/broker" ,
 dataType: "text",
 data: {
 '_service' : 'myService',
 '_program' : 'myProgram',
 'start' : start,
 'end' : end
 },
 beforeSend: function() {
  $("#loading").removeClass("hide");
 },
 timeout: 5000,
 error: function(request,error) {
  $("#loading").addClass("hide");
  if (error == "timeout") {
   $("#error").append("The request timed out, please resubmit");
  }
  else {
   $("#error").append("ERROR: " + error);
  }
  },
  success: function(request) {
   $("#loading").addClass("hide");
   var t = eval( "(" + request + ")" ) ;
  } // End success
}); // End ajax method

입력해 주셔서 감사합니다.

나는 그 요청이 오류보다 더 유용하다고 생각한다.

error:function(xhr,err){
    alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
    alert("responseText: "+xhr.responseText);
}

xhr은 XmlHttpRequest입니다.
readyState 값은 1:loading, 2:loaded, 3:interactive, 4:complete입니다.
status는 HTTP 상태 번호입니다.즉, 404: not found, 500: server error, 200: ok 입니다.
responseText는 서버로부터의 응답입니다.이것은 웹 서비스의 텍스트 또는 JSON 또는 웹 서버의 HTML일 수 있습니다.

jQuery 소스 코드를 보면 성공 에 4개의 상태가 반환됩니다.

  • timeout - 지정한 타임아웃이 초과되었을 때
  • error - http 오류(404 등)
  • not modified - 마지막 요청 이후 요청된 리소스가 변경되지 않은 경우
  • parsererror - xml/json 응답이 잘못된 경우

이것은 사이드입니다만, 당신이 제출한 코드에 버그가 있는 것 같습니다.행:

 if (error = "timeout") {

등호 수가 더 많아야 합니다.

 if (error == "timeout") {

오류 함수에 전달되는 두 번째 인수는 문자열 "timeout" "parserror" "error" 또는 "not modified"입니다.세 번째는 예외 오브젝트가 됩니다.이 오브젝트는 디버깅에 도움이 됩니다.

그 답변이 맞는 것이 확실합니까?해석 오류는 평가 중인 데이터에 이상이 있음을 의미합니다.var t = eval( "(" + request + ")" ) ;

언급URL : https://stackoverflow.com/questions/95600/jquery-error-option-in-ajax-utility