$.getJSON 에서 json 파일을 못읽고 404 에러가 뜰때

Posted by RAY.D
2015. 10. 14. 16:40 Web/javascript / jQuery
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


ASP.NET MVC 하에서 웹개발을 하다가


페이지를 수시로 보기 위해서 (디버깅 실행후에만 보지않고)


프로젝트 폴더를 IIS 에서 가상디렉토리를 만들어서 웹브라우저에서 수시로 localhost 로 열어서 사용하였다.


그런데 막상 Visual Studio 에서 디버깅을 돌려서 페이지를 열었을 때는


404 (not found) 에러가 발생하며 


json 파일을 열지 못하는 현상이 발생하였다. (분명히 해당 경로에 .json 파일이 있음에도 불구하고...)


cshtml 파일내에 java script 에서는


$.getJSON('~/Content/NBCCJr.json', function (data) {
    $.each(data, function(i, dataPoint) {
        // Bla
      });
  });
)


이런 식으로 json 파일을 불러와야 하는데 이게 불능.... 해결 방법은 아래와 같다. 결국은 설정 문제...


IIS에서는 MIME 추가하면 되는 일인데...VS 에서 디버깅하면서 IIS EXPRESS를 쓸때는 static content에 대해서 명시적으로 셋팅을 해야하는 것...




해결 방법 : 


web.config 파일에 다음 항목 추가.


  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
  </system.webServer>