Я пишу библиотеку ActionScript для api. Я использую объект URLLoader для загрузки данных из api. Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда api возвращает статус http в 400, ActionScript рассматривает это как ошибку io. Это все находка и хорошая, однако, похоже, что нет доступа к каким-либо данным, которые были возвращены, если это так. Следовательно, любой полезный xml о причине ошибки, которая возвращается, теряется. Есть ли способ обойти это? Это делает библиотеку болью, если не может быть полезной информации для разработчиков, когда api возвращает ошибку. Спасибо за любую помощь!Как получить доступ к данным AS3 URLLoader для IOErrorEvent
ответ
Вы не можете получить доступ к данным в случае 400. Однако вы можете получить код состояния, добавив слушателя для события статуса HTTP.
Если вы контролируете код серверной, есть несколько обходных путей:
Одним из вариантов является иметь бэкэнд реагировать с 200s даже в тех случаях, когда речь идет об ошибках на флэш-клиент, но с особой ошибки так что клиент знает, что ответ 200 на самом деле является ошибкой.
Другой вариант - установить cookie на клиенте, содержащем сообщение об ошибке. Flash не может изначально обращаться к файлам cookie, но вы можете обратиться к javascript с помощью ExternalInterface, чтобы прочитать файл cookie, или, при желании, клиент может сделать еще один удар по специальному back-end контроллеру, который считывает cookie и отвечает сообщением об ошибке.