为什么我的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可能会导致。