programing

json 파일을 찾을 수 없는 이유는 무엇입니까?

newnotes 2023. 3. 6. 21:26
반응형

json 파일을 찾을 수 없는 이유는 무엇입니까?

asp.net 프로젝트의 컨텐츠 폴더에 json 파일이 있습니다.

<projectName>
    \Content
        NBCCJr.json

...접속하기 위한 코드:

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

코드가 호출되어도 아무 일도 일어나지 않습니다.브라우저 콘솔에 "리소스를 로드하지 못했습니다: 서버가 404(Not Found)"라는 메시지가 표시됩니다.

왜 찾을 수 없는 거죠?파일에 대한 올바른 경로가 "tilde sk filename" 아닌가요?

갱신하다

나도 '퍽'을 거꾸로 해서 해봤어.

$.getJSON('~\Content\NBCCJr.json', function (data) {

...그리고 같은 결과("리소스를 로드하지 못했습니다: 서버가 404(Not Found)의 상태로 응답했습니다.")

업데이트 2

그리고 나서 나는 이렇게 앞질러진 한 방을 먹으려고 했다.

$.getJSON('Content/NBCCJr.json', function (data) {

...콘솔에 다음과 같은 애매한 메시지가 표시됩니다.

*GET http://localhost:9702/Content/NBCCJr.json 404 (Not Found) jquery.js:8724
XHR finished loading: "http://localhost:9702/Content/NBCCJr.json".*

그럼 아직 발견되지 않았고 아직 로딩이 안 된 건가요?

업데이트 3

다음을 변경하여 브라우저의 파일로 이동하려고 했을 때:

http://localhost:9702/Default.cshtml

...대상:

http://localhost:9702/Content/NBCCJr.json

Vint Cerf, Tim Berners-Lee 및/또는 Al Gore로부터 다음과 같은 유익한 WSOD 메시지를 받았습니다.

HTTP Error 404.3 - Not Found (찾을 수 없음)내선번호 설정으로 인해 요청하신 페이지를 이용할 수 없습니다.페이지가 스크립트인 경우 핸들러를 추가합니다.파일을 다운로드할 필요가 있는 경우는, MIME 맵을 추가합니다.

업데이트 4

JAM 덕분에 작동하게 되었습니다.

나는 이것을 웹에 추가해야 했다.설정:

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

제거해 보셨습니까?~?

예:

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

IIS가 JSON 파일을 처리할 수 있도록 하려면 web.config에 다음을 추가합니다.

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

해결책은 MIME 유형에서 json 파일 확장자 유형을 추가해야 합니다.

방법 1

IIS로 이동하여 응용 프로그램을 선택하고 MIME 유형을 찾습니다.

여기에 이미지 설명 입력

오른쪽 패널에서 추가를 클릭합니다.

파일 이름 확장자 = .json

MIME 유형 = 응용 프로그램/json

여기에 이미지 설명 입력

MIME 유형에서 .json 파일 형식을 추가한 후 IIS를 재시작하고 json 파일에 액세스해 보십시오.


방법 2

해당 응용 프로그램의 web.config로 이동하여 이 행을 추가합니다.

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

*.json 파일을 하위 폴더가 아닌 webRoot에 넣어 보십시오.그런 다음 다음과 같이 참조합니다.

$.getJSON('NBCCJr.json', function (data) {

물론 여기에는 jquery.min.js의 jQuery 시스템개체 또는 json2-1.0.min.js의 JSON 구조체의 이전 포함과 인스턴스화가 필요합니다.

저는 .json을 .txt로 변경했고 요청은 정상적으로 진행 중입니다..txt가 일으킬 수 있는 결과에 대해서는 잘 모르겠습니다.

사용하시는 경우ASP.NET Core, 파일을 넣기만 하면 됩니다.wwwroot하지만 만약 당신이ASP.NET이를 통해 다음과 같이 web.config에서JSON 확장자를 사용할 수 있습니다.

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

그리고.

<location path="Content">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>

언급URL : https://stackoverflow.com/questions/17626776/why-is-my-json-file-not-found

반응형