아약스 문서 뷰어 드루팔 호스팅
내가 jQuery를 AJAX 오류 메시지에서 경고로 사용자 정의 예외 메시지를 표시 할 수있는 몇 가지 방법이 있나요?
나는 새로운있는 ApplicationException 던져으로 스트럿츠를 통해 서버 측에서 예외를 throw 할 경우 예를 들어, ( "사용자 이름이 이미 있습니다"); 내가 jQuery를 AJAX 오류 메시지 ( '사용자 이름이 이미')이 메시지를 잡으려고합니다.
내가 던진 오류를 경고 두 번째 경고,에, 나는 정의되지 않은 무엇입니까 및 상태 코드는 500이다.
나는 내가 잘못 가고 어디에 확실하지 않다. 나는이 문제를 해결하기 위해 무엇을 할 수 있는가?
일반 / 재사용 용액
이 답변이 문제에 부딪 모든 사람들에게 나중에 참조 할 수 있도록 제공됩니다. 해결 방법은 두 가지로 구성된다 :
- 검증 서버에 실패 할 경우에 슬로우됩니다 사용자 정의 예외 ModelStateException (모델 상태 보고서 유효성 검사 오류 우리는 데이터 주석을 사용하여 강력한 입력 된 컨트롤러 액션 매개 변수를 사용)
- 사용자 정의 예외를 catch하고 본문에 모델 상태 오류와 함께 HTTP 오류 상태를 반환하는 사용자 정의 컨트롤러 액션 오류 필터 HandleModelStateExceptionAttribute
jQuery를 아약스 성공 및 오류 핸들러 자신의 잠재력을 사용하는 호출이 최적의 인프라를 제공합니다.
클라이언트 측 코드
서버 측 코드
전체 문제는 응용 프로그램에서이 작업을 실행하는 모든 코드를 찾을 수있는이 블로그 게시물에 자세히 설명되어 있습니다.
나는 Ajax 응답 핸들러는 에러가 발생했을 경우 확인하기 위해 HTTP 상태 코드를 사용 믿습니다.
그래서 당신은 당신의 서버 측 코드에서 자바 예외를 발생하지만 HTTP 응답은 500 상태 코드 jQuery를하지 않는 (또는이 경우 아마 XMLHttpRequest 객체에서) 그냥 모든 것이 괜찮다고 생각됩니다.
나는이 ArgumentException이 같은 것을 던지고 ASP.NET에서 비슷한 문제가 있었기 때문에 내가 ( "무엇을 해야할지하지 마십시오을.") 이런 말을 해요하지만 오류 처리기가 발사되지 않았다.
나는 500 또는 I 오류가 있었다 여부 (200) 중 하나에 Response.StatusCode을 설정합니다.
14시 11분에서 12월 19일 '08 대답
jQuery.parseJSON 성공 및 오류 유용합니다.
22시 18분에서 8월 11일 '11 대답
사용하여 서버에 새 예외를 던져 :
나는 상태 설명이 Ajax 호출에 반환 있다고 생각합니다.
18시 7분에서 3월 6일 '14 대답
이 경우 어떤 형태의 유효성을 검사와 함께 제출하다
단순히 코드의 나머지 부분을 사용
17시 31분에서 3월 9일 '14 대답
이 질문에 질문이기 때문에 몇 년되었지만, 나는 여전히 내가 찾던 해답으로 xhr.responseText 찾을 수 없습니다. 그것은 다음과 같은 형식으로 나에게 문자열을 반환
이는 확실히 사용자에게 보여주고 싶지 않아요. 내가 무엇을 찾고 있었 아래 같은 것입니다 :
xhr.responseJSON.message는 나에게 사용자에게 표시 할 수있는 JSON 객체에서 정확한 메시지를 제공합니다.
2시 5분에서 6월 24일 '16 대답
먼저 우리는 설정해야합니다
오류 부분에 JQuery와 수준에서 그뿐만 아니라 당신은 같은 예외를 포함 오류 응답을 구문 분석 할 필요가있다 :
그런 다음 actully 예외 텍스트를 표시 할 수 있습니다 r.Message를 사용하여.
8시 41분에서 5월 9일 '12 대답
당신은 XHR 객체에 던져 예외의 JSON 객체를 가지고있다. 그냥 사용
json으로 개체는 다른 두 속성을 노출 '예외 유형'과 '스택 트레이스를'
10시 33분에서 2월 23일 대답
2017 스택 교환, Inc의