У меня есть json файл в папке Content в моем проекте asp.net:
<projectName>
\Content
NBCCJr.json
... и код для доступа к нему:
$.getJSON('~/Content/NBCCJr.json', function (data) {
$.each(data, function(i, dataPoint) {
// Bla
});
});
)
... но ничего не происходит, когда вызывается код; в консоли браузера сказано: "Не удалось загрузить ресурс: сервер ответил статусом 404 (не найден)"
Почему он не найден? Не является ли "тильда ударом имя файла" правильным путем к файлу?
UPDATE
Я также попробовал его с "ударами" назад:
$.getJSON('~\Content\NBCCJr.json', function (data) {
... и получил тот же результат ( "Не удалось загрузить ресурс: сервер ответил статусом 404 (Not Found)" )
ОБНОВЛЕНИЕ 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
У меня появилось информативное сообщение WSOD от Винта Серфа, Тима Бернерса-Ли и/или Эл Гор, говорящего:
Ошибка HTTP 404.3 - не найдено Запрошенная вами страница не может быть выполнена из-за конфигурации расширения. Если страница script, добавьте обработчик. Если файл нужно загрузить, добавьте MIME-карту.
ОБНОВЛЕНИЕ 4
Благодаря JAM, он теперь работает.
Мне пришлось добавить это в Web.Config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>