AngularJS's source에서 볼 수 있듯이 HTTP 코드를 200-299 범위로 반환하는 $ http.post 요청은 success() 콜백을 트리거합니다 응답에 잘못된 데이터 (예 : 잘못된 JSON)가 포함 된 경우
나는 특히 내 전화 responseType: 'json'
을 설정 중이며, 그 외에도 뭔가 다시 돌아 오면 성공 콜백이 시작됩니다. 이것은 PHP의 display_errors 설정이 켜져있는 개발 서버에서 특히 성가신 일입니다. 서버 측과 PHP가 오류 메시지를 출력하면 AngularJS 앱은이를 감지하지 않고 계속 행복하게 메시지를 보냅니다.
이 문제를 방지 할 방법이 있습니까? 응답 데이터가 유효하지 않은 경우 AngularJS 앱에서 error() 콜백을 발생 시키려면 JSON을 사용 하시겠습니까?
감사합니다.
감사합니다. 방금 응답을 변형 시키려고했지만 곧 코드 경로가 success() 콜백을 통과하기 때문에 JSON이 유효하지 않음을 감지하면 아무 것도 할 수 없다는 것을 알게되었습니다. 인터셉터를 사용하면 전체를 거부 할 수있는 능력이있는 것 같습니다. 유일한 문제는 나에게 검은 색 마술처럼 보입니다 (아직 AngularJS를 배우므로) 먼저 읽어야 할 것이 있습니다. Angular 문서가 n00b 지향적이지 않은 것은 부끄러운 일입니다. – Julian
다음 예제를 인터셉터로보실 수 있습니다 : http://stackoverflow.com/questions/11956827/angularjs-intercept-all-http-json- 답변? rq = 1 –
@meconroy 그 링크가 맑게 만들었습니다. 고마워요! 인터셉터는 결국 힘들지 않게 판명되었습니다. – Julian