을 사용할 때$.아약스에서 jQuery,어떻게 의도적으로 던져에서 오류 로드셔서 감사합니다.

StackOverflow https://stackoverflow.com/questions/2212964

  •  19-09-2019
  •  | 
  •  

문제

에 내 문서 나는 이 스크립트:

$.ajax({ type:"POST",url:"ajax.php",data:data,
    success: function() { 
        //onsuccess
    },
    error: function() { 
        //onerror
    }
}); 

할 수 있는 방법,문서 ajax.php, 의도적으로 던지는 오류?그것은 충분한 집어 던지는 400HTTP 상태코드 또는 뭔가?(그리고 만약 그렇다면,400 바로 하나?)

왜 나는 내가 이것을 사용하고 싶 양식을 제출하는 서버,그리고 만약 필드를 채워지지 않습니다 밖으로 나가고 싶을 경고를 통해 사용자에 오류가 매개변수에 $.ajax.나는 할 수 있는 이를 사용하에서 자바스크립트 첫 번째 장소,하지만 나는 내가 그것을 할 수있는 이 방법은(그래서 나는지 확인에 두 번). 하지만 물론 이렇게 하는 것으로,수 없는 별도의 다른 분야에서 다른합니다.

무엇을 기반으로 사용하고 싶을 위해, 할 수 있게 던져"사용자 지정 오류", 므로 경우에,분야 name 되지 않은 가득한 제대로 그것의 이름을 반환합 분야(예: name).그것은 충분한 다음과 같은 것이 가능합니다.

에 ajax.php:

if (isFilledOutProperly($name) == false) {
    echo "name";
}
else {
    echo "success";
}

고:

success: function(data) { 
    if (data == 'name') {
        //error
    }
            else {
        //success
    }
},

될 수 있다에 여기를,그러나 누가는 더 나은 방법에 관한 제안을 할 수 있 이 말해주십시오.감사합니다!

도움이 되었습니까?

해결책

error 절의 $.ajax() 전화지 못한 상황에서 사용할 수 있습니다. error 커버의 경우,말,HTTP 오류가 있습니다.유효성 검사 오류되지 않는 정말 오류를 이 경우.당신은 더 나을 나타내기에 success 콜백으로 적합한 데이터 서버에서 반환.

당신 문서:

error(XMLHttpRequest, textStatus, errorThrown)Function

함수를 호출될 경우 요청 실패합니다.함수가 전달된 세 arguments:XMLHttpRequest 체 문자열의 형식을 설명하는 오류 발생한 옵션 예외는 경우 해당 개체 중 하나 발생했습니다.가능한 값은 두 번째 인수(외 null)은"timeout", "오류","notmodified"고 "여 parsererror".이 Ajax 이벤트.

참고: 오류 조건에 대해 이야기는 구문 분석의 오류,시간 초과 오류를(HTTP)및 수정되지 않음(는 또 다른 HTTP 응답).

기술적으로 귀하의 요청이 성공적이지만 유효성 검사에 실패하지 않는 오류 per se.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top