При отладке приложений jQuery, которые используют Ajax, у меня часто есть потребность видеть json, который возвращается сервисом к браузеру. Таким образом, я отброшу URL для данных JSON в строку поиска.
Это любезно с ASPNET, потому что в случае ошибки кодирования, я вижу ASPNET diagostic в браузере:
Но когда серверный код работает правильно и на самом деле возвращает JSON, IE предлагает мне загружать его, таким образом, я не вижу ответ.
Я могу заставить IE НЕ делать это, другими словами, просто отображать его, как будто это был простой текст?
Я знаю, что мог сделать это, если бы я установил заголовок Типа контента, чтобы быть text/plain
.
Но это - конкретно контекст приложения ASPNET MVC, которое устанавливает ответ автоволшебно, когда я использую JsonResult на одном из моих методов действия. Также я отчасти хочу сохранить соответствующий тип контента и не изменить его только для поддержки отладки усилий.
Я нашел отвечать.
Вы можете настроить IE8 для отображения application / json в окне браузера, обновив реестр. Нет необходимости во внешнем инструменте. Я не тестировал это широко, но он работает с IE8 в Vista.
Чтобы использовать это, помните, что применяются все обычные предостережения об обновлении реестра. Остановите IE. Затем вырежьте и вставьте следующее в файл с именем json-ie.reg
.
Windows Registry Editor Version 5.00
;
; Tell IE to open JSON documents in the browser.
; 25336920-03F9-11cf-8FD0-00AA00686F13 is the CLSID for the "Browse in place" .
;
[HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/json]
"CLSID"="{25336920-03F9-11cf-8FD0-00AA00686F13}"
"Encoding"=hex:08,00,00,00
[HKEY_CLASSES_ROOT\MIME\Database\Content Type\text/json]
"CLSID"="{25336920-03F9-11cf-8FD0-00AA00686F13}"
"Encoding"=hex:08,00,00,00
Затем дважды щелкните файл .reg. Перезагрузите IE. Новое поведение, которое вы получаете, щелкая URL-адрес, который возвращает документ с Content-Type: application / json
или Content-Type: text / json
, выглядит следующим образом:
Что это работает, почему это работает:
25336920-03F9-11cf-8FD0-00AA00686F13
- это CLSID для действия «Просмотр на месте». По сути, эта запись в реестре сообщает IE, что для документов с mime-типом application / json просто просмотрите его на месте. Это не повлияет на документы приложения / json, загруженные через теги