【发布时间】:2013-07-11 16:42:45
【问题描述】:
我的 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>
【问题讨论】:
-
暂时先别管代码,看看能不能在浏览器中找到文件开始
-
出于这个原因,我已经注释掉了显示的行之后的所有代码。 IOW,函数为空。
-
您是否设法在浏览器中显示 json?即直接将 URL 放入地址栏中?
-
@greg:它“咬紧”了什么?
-
更新 4 为我解决了!谢谢\o/
标签: jquery asp.net json google-chrome-devtools