为什么找不到我的json文件?

B. *_*non 84 asp.net jquery json google-chrome-devtools

我的asp.net项目中的Content文件夹中有一个json文件:

<projectName>
    \Content
        NBCCJr.json
Run Code Online (Sandbox Code Playgroud)

...以及访问它的代码:

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

......但是在调用代码时没有任何反应; 浏览器控制台说:"无法加载资源:服务器响应状态为404(未找到)"

为什么没找到?是不是"tilde whack filename"文件的正确路由?

UPDATE

我也向后试了"whacks":

$.getJSON('~\Content\NBCCJr.json', function (data) {
Run Code Online (Sandbox Code Playgroud)

...并得到相同的结果(" 无法加载资源:服务器响应状态为404(未找到) ")

更新2

然后我尝试了这样一个前所未有的打击:

$.getJSON('Content/NBCCJr.json', function (data) {
Run Code Online (Sandbox Code Playgroud)

...我在控制台中收到了这个含糊不清的消息:

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

所以它还没有找到并且还没有加载?

更新3

当我尝试通过更改以下内容导航到浏览器中的文件时:

http://localhost:9702/Default.cshtml
Run Code Online (Sandbox Code Playgroud)

...至:

http://localhost:9702/Content/NBCCJr.json
Run Code Online (Sandbox Code Playgroud)

我从Vint Cerf,Tim Berners-Lee和/或Al Gore那里获得了一条信息丰富的WSOD消息说:

HTTP错误404.3 - 未找到由于扩展配置,无法提供您请求的页面.如果页面是脚本,请添加处理程序.如果要下载文件,请添加MIME映射.

更新4

感谢JAM,它现在正在运作.

我不得不将其添加到Web.Config:

  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
  </system.webServer>
Run Code Online (Sandbox Code Playgroud)

JAM*_*JAM 96

你有没有尝试删除~

如:

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

要允许IIS提供JSON文件,请尝试将其添加到web.config:

<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
Run Code Online (Sandbox Code Playgroud)


Kau*_*mar 22

解决方案是您需要在MIME类型中添加json文件扩展名类型

方法1

转到IIS,选择您的应用程序和查找MIME类型

在此输入图像描述

单击"从右侧添加"面板

文件名扩展名= .json

MIME类型= application/json

在此输入图像描述

MIME类型中添加.json文件类型后,重新启动IIS并尝试访问json文件


方法2

转到该应用程序的web.config并在其中添加此行

 <system.webServer>
   <staticContent>
     <mimeMap fileExtension=".json" mimeType="application/json" />
   </staticContent>
 </system.webServer>
Run Code Online (Sandbox Code Playgroud)