Ответ 1
Является ли файл, который вы пытаетесь получить в том же домене? Или вы получаете json с другого сервера? Если он размещен в другом домене, вам придется использовать JSONP из-за той же политики происхождения.
Я получаю сообщение "ERROR 404.3 Not Found" для JSON файла, который я вызываю, используя вызов AJAX в "Internet Information Services 7.5" даже после того, как активировал все "Возможности разработки приложений". Помимо файла JSON все остальные файлы загружаются.
Я запускаю HTML-страницу на сервере IIS на своей локальной машине.
Если я открою файл напрямую, то проблем нет. Когда я размещаю файлы на онлайн-сервере, он отлично работает.
Любая быстрая помощь будет очень оценена.
Является ли файл, который вы пытаетесь получить в том же домене? Или вы получаете json с другого сервера? Если он размещен в другом домене, вам придется использовать JSONP из-за той же политики происхождения.
Как было предложено @ancajic, я добавляю ниже код после тега connectionString в свой файл web.config, и он работал.
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
Как сказал @elasticman, необходимо открыть IIS Manager → Mime types → Добавить новый тип mime с
Расширение:.json MIME Тип: application/json
Но для меня этого было недостаточно. У меня есть приложение ASP.NET MVC 4, и мне пришлось изменить файл root Web.config.
Вставка
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
где-то внутри вашего
<system.webServer>
...
</system.webServer>
Если вы используете IIS Express с Visual Studio, диспетчер IIS не будет работать для IIS Express. Вместо этого вам нужно открыть этот файл конфигурации из% userprofile%\documents\IISExpress\config\applicationhost.config и вставить
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
вместе со всеми другими предопределенными типами mime.
Я применил следующие настройки в IIS, это было правильно.
1. Откройте диспетчер IIS
2. Свойства отображения для сервера IIS
3.Нажмите MIME-типы, а затем добавьте расширение JSON:
Расширение имени файла:.json
Тип MIME: application/json
4. Вернитесь к свойствам для сервера IIS
5.Нажмите на сопоставления обработчиков
Добавить карту script
Запрос пути: *.json
Исполняемый файл: C:\WINDOWS\system32\inetsrv\asp.dll Имя: JSON
Вариант 1
Перейти ко II
Выберите веб-сайт
Двойной щелчок мышью по иконке MIME под IIs
Нажмите Добавить ссылку в правой части
Расширение имени файла =.json Mime Type = приложение /JSON
Нажмите Ok.
Вариант 2
Обновите файл web.config следующим образом:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
Я надеюсь, что ваша проблема решена
У меня нет той же проблемы, но для меня (Windows Server 2003 IIS 6) приложение MIME-типа/json не работает. Я использую text/plain и отлично работаю (вам не нужно перезапускать сервер)
Чтобы решить эту проблему с помощью службы приложений Azure:
Используйте FTP или панель управления Kudu, чтобы добавить этот файл на один уровень выше wwwroot -
/site/applicationHost.xdt:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" xdt:Transform="InsertBefore(/configuration/system.webServer/staticContent/*[1])" />
</staticContent>
</system.webServer>
</configuration>
Затем в разделе "Параметры приложения" на Azure Portal добавьте отображение Handler:
.json C:\WINDOWS\system32\inetsrv\asp.dll