Почему мой файл json не найден?
у меня есть файл json в папке содержимого внутри моего asp.net проект:
<projectName>
Content
NBCCJr.json
...и код для доступа к нему:
$.getJSON('~/Content/NBCCJr.json', function (data) {
$.each(data, function(i, dataPoint) {
// Bla
});
});
)
...но ничего не происходит при вызове кода; консоль браузера говорит: "не удалось загрузить ресурс: сервер ответил со статусом 404 (не найден)"
почему он не найден? Разве "tilde whack filename" не правильный маршрут к файлу?
обновление
Я также попробовал его с " ударами" назад:
$.getJSON('~ContentNBCCJr.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
... to:
http://localhost:9702/Content/NBCCJr.json
я получил информативное сообщение WSOD От Винта Серфа, Тима Бернерса-Ли и / или Эла Гора, говорящего:
ошибка HTTP 404.3 - не найдено Запрашиваемая страница не может обслуживаться из-за конфигурации расширения. Если страница является сценарием, добавьте обработчик. Если файл должен быть загружен, добавьте карту MIME.
обновление 4
благодаря JAM, он теперь работает.
Я должен был добавить это в Интернете.Config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
4 ответа:
вы пробовали удалить
~
?в:
$.getJSON('/Content/dumboJr.json', function (data) { $.each(data, function(i, dataPoint) { // Bla }); }); )
чтобы разрешить IIS обслуживать файлы JSON, попробуйте добавить это в свой веб-сайт.config:
<staticContent> <mimeMap fileExtension=".json" mimeType="application/json" /> </staticContent>
решение вам нужно добавить тип расширения файла json в MIME Types
Способ 1
перейдите в IIS, выберите приложение и найдите типы MIME
Нажмите кнопку Добавить с правой панели
Расширение Имени Файла = .json
mime Type = application / json
после добавления .json тип файла в типы MIME,перезапустить IIS и попробуйте получить доступ к файлу json
Способ 2
перейти в интернет.config этого приложения и добавьте в него эти строки
<system.webServer> <staticContent> <mimeMap fileExtension=".json" mimeType="application/json" /> </staticContent> </system.webServer>