2012-03-09 6 views
10

Я начинаю использовать новый веб-API ASP.NET. Когда я открываю вызов метода пробной службы с использованием браузера, такого как FF или Chrome, он корректно возвращает xml в браузере. Однако в Internet Explorer (7-9) появляется запрос:ASP.NET Web API в IE

Вы хотите открыть или сохранить чтение (58 байт) из [servername]?

Когда я выбираю Open, он спрашивает, какую программу открыть, а затем отобразит xml в этой программе. Я надеялся, что методы принимают метод GET, что он просто вернет результаты в браузере, однако это не похоже на IE. Раньше я сталкивался с подобной проблемой с ASP.NET MVC при возврате JSON, однако я даже не возвращаю JSON в этом случае.

Как сообщить IE, чтобы вернуть результаты в браузере, например, FF и Chrome?

ответ

4

Я тоже это заметил. Он фактически возвращает результаты как JSON. Чтобы просмотреть результат вызова, перейдите в инструменты разработчика (F12), затем перейдите в «Сеть», нажмите «Начать мониторинг» и отправить запрос. Вы должны увидеть, что результат отображается в списке трассировки. Затем вы можете дважды щелкнуть его и выбрать «Просмотр тела», чтобы увидеть тело ответа.

0

Это не очень важное дело. IE не знает, как обрабатывать эти форматы. В хром он также не видит JSON. Я установил расширение под названием JSONView в Google Chrome, теперь у меня красивый вид.

ИМО, не заботясь об этом. Для целей тестирования я всегда использую Fiddler, который лучше, и у вас есть полный контроль над запросом с точки зрения заголовков и других вещей.

+1

Это очень важно, если вам нужно поддерживать IE – nickbw

+0

@nickbw Вы хотите, чтобы ваши пользователи просматривали ваш json-выход на IE? – tugberk

+0

Хотелось бы, чтобы все они использовали хром, однако некоторые из них используют более старые версии IE, и единственный способ, которым я смог использовать ответ json, - это изменить тип контента на «текст/plain» и затем разобрать ответ. – nickbw

4

Я знаю, что немного поздно опубликовать другой ответ, но это может быть полезно для других, которые действительно заинтересованы в том, чтобы IE отображал результаты ASP.NET Web API в собственном окне. Я попробовал решение, указанное в следующей строке SOF, и это сработало для меня.

How can I convince IE to simply display application/json rather than offer to download it?

Теперь веб-результаты API в формате JSON показываются в моем окне IE.

+0

Ссылка содержит быстрое редактирование реестра, которое поможет устранить эту проблему. – atconway