У меня есть файл json в папке Content в моем проекте asp.net:
<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
Я получил информативное сообщение WSOD от Винта Серфа, Тима Бернерса-Ли и / или Эла Гора:
Ошибка HTTP 404.3 - не найдена Запрашиваемая страница не может быть обслужена из-за конфигурации расширения. Если страница представляет собой сценарий, добавьте обработчик. Если файл должен быть загружен, добавьте карту MIME.
ОБНОВЛЕНИЕ 4
Благодаря JAM теперь он работает.
Мне пришлось добавить это в Web.Config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>