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