为什么我的JSON文件没有find?

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

<projectName> \Content NBCCJr.json 

…以及访问它的代码:

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

…但是当代码被调用时没有任何反应; 浏览器控制台说:“无法加载资源:服务器响应状态为404(未find)”

为什么找不到? 是不是“tilde whack文件名”到文件的正确路线?

UPDATE

我也尝试了“向后”的“重击”

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

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

更新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 – 未find您正在请求的页面由于扩展configuration而无法投放。 如果页面是脚本,添加一个处理程序。 如果文件应该被下载,添加一个MIME映射。

更新4

感谢JAM,它现在正在工作。

我不得不添加到Web.Config:

  <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> 

解决方法是你需要在MIMEtypes中添加json文件扩展名types

方法1

转到IIS,select您的应用程序并查找MIMEtypes

在这里输入图像说明

点击从右侧面板添加

文件扩展名= .json

MIMEtypes= application / json

在这里输入图像说明

MIMEtypes中添加.json文件types后, 重新启动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系统对象: jquery.min.js或JSON结构: json2-1.0.min.js

我更改.json为.txt和请求正常工作。 我不确定结果.txt可能会导致。