에러코드 500과 함께 JsonResult를 넘겨줬는데 Json 객체를 받아오지 못하는 경우가 발생하였다.
[컨트롤러단]
컨트롤러에서 500 에러코드와 함께 JsonResult 형식의 결과를 넘겨준다.
[뷰단]
로컬에서 Test 한경우
JsonResult로 넘겨주었기 때문에 Response Header의 Content-Type : application/json; 인것을 확인할 수 있다.
그리고 넘겨받은 XMLHttpRequest 객체 안의 response 안에는 서버에서 받은 JsonResult(오류메시지)를 확인할 수 있다.
실제운영서버에서 Test 한경우
운영서버에서도 마찬가지로 JsonResult로 넘겨주었는데 Response Header의 Content-Type : text/html 이다.
넘겨받은 XMLHttpRequest 객체 안의 response 안에는 html문서형식의 값이 저장되었는 것을 볼 수 있다.
로컬환경에서는 IIS 버전이 10.0 이어서 별탈없이 View에서 JsonResult를 넘겨받았다.
그러나 실제 운영서버 환경의 경우 IIS 버전이 8.5라서 그런지..
에러코드만 넘어올뿐 response 객체에는 html문서로 넘어오는것을 발견하였다.
분명 JsonResult로 넘겼는데 말이다.. 여러 삽질 후 검색 끝에 아래 링크에서 해결방법을 찾았다.
https://gist.github.com/beccasaurus/929007/a8f820b153a1cfdee3d06a9c0a1d7ebfced8bb77
Web.config 에서 오류가 발생하더라도 Response가 존재하면 같이 넘겨주도록 하는 옵션이 있는것 같다.
<system.webServer>
<httpErrors existingResponse="PassThrough"></httpErrors>
</system.webServer>
여러분의 공감과 댓글이 큰 힘이됩니다 :)
▼▼▼▼▼▼▼▼▼▼▼'프로그래밍 > ASP.NET' 카테고리의 다른 글
ASP.NET MVC 간단한 예제 프로그램 파일 첨부 (0) | 2017.03.28 |
---|