一尘不染

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

json

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

<projectName>
    \Content
        NBCCJr.json

…以及访问它的代码:

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

…但是调用代码时什么也没发生;浏览器控制台说:“无法加载资源:服务器响应状态为404(未找到)”

为什么找不到?“波浪号文件名”不是通往文件的正确路径吗?

更新

我还尝试了向后“重击”:

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

…并且得到相同的结果(“ 无法加载资源:服务器以404(未找到)状态进行响应 ”)

更新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错误404.3-找不到由于扩展名配置,无法提供您请求的页面。 如果页面是脚本,请添加处理程序。如果应下载文件,请添加一个MIME映射。

更新4

感谢JAM,它现在可以工作了。

我必须将其添加到Web.Config:

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

阅读 1857

收藏
2020-07-27

共1个答案

一尘不染

您是否尝试过删除~

如:

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

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

<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
2020-07-27