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