flash.net.URLLoader получить тело из 500 внутренняя ошибка сервера - PullRequest
4 голосов
/ 20 сентября 2010

Я пытаюсь упростить свои отчеты об ошибках для внутреннего тестирования.Когда я использую URLLoader / URLRequest для загрузки страницы, которая отвечает кодом состояния HTTP 500, я перехватываю ее с помощью IOErrorEvent.IO_ERROR, но не могу найти способ получить тело ответа.В отличие от Event.Complete, loader.data (My URLLoader) является пустой строкой.

Да, я могу использовать Fiddler / Firebug, чтобы получить реальный ответ, но было бы хорошо отловить прерывистый / трудный для-произвести ошибки, когда у меня их нет.

Ответы [ 3 ]

2 голосов
/ 16 сентября 2011

Код состояния 500 запускает flash.events.HTTPStatusEvent.HTTP_STATUS, из которого вы можете получить статус. Затем он запускает IOErrorEvent.IO_ERROR, откуда я могу получить loader.data.

Но loader.data пуст для Chrome и Safari. Он содержит правильный текст ответа для Firefox 3.6+, IE8 и IE9!

1 голос
/ 20 сентября 2010

Попробуйте добавить прослушиватель событий в ваш URLLoader для flash.events.HTTPStatusEvent.HTTP_STATUS.Это определенно даст вам код, хотя и для тела ... AIR предоставляет flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS, который получит заголовки и тому подобное, хотя я не думаю, что это поможет вам здесь

0 голосов
/ 21 сентября 2010

Прошло некоторое время с тех пор, как я возился с этим во Flash.Но недавно у меня возникла та же проблема в Silverlight, и проблема в том, что браузер сначала обрабатывает ответ, поэтому я могу получить только страницу ошибки браузера, понятную пользователю.В Silverlight вы можете обойти это, используя сетевой стек ClientHTTP.Это делает веб-запрос напрямую через ОС, а не через сетевой стек браузера.

Я почти на 100% уверен, что во Flash такого нет, что заставляет меня думать, что вы не можете получить тело для любого другого статуса.код, чем 200. Таким образом, вы, вероятно, застряли.Одно из решений состоит в том, чтобы в вашем веб-сервисе был необязательный параметр, который, если он будет установлен, заставит все методы возвращать 200 и просто записывать любые исключительные ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...