incapable d'obtenir de code de réponse HTTP/en-têtes, en actionscript 3?
Je suis en utilisant URLLoader pour POSTER sur un serveur. La réponse xml du serveur peut répondre avec une 404 ou 403 (interdit) erreur. Cependant, je n'arrive pas à obtenir les codes de réponse.
Voici le code
var urlString:String = "some url";
var urlRequest:URLRequest = new URLRequest(urlString);
var loader:URLLoader = new URLLoader();
loader.addEventListener( Event.COMPLETE, setXMLData );
loader.addEventListener( IOErrorEvent.IO_ERROR, ioHandler );
loader.addEventListener( HTTPStatusEvent.HTTP_STATUS, httpStatusHandler );
//...
public function httpStatusHandler(evt:HTTPStatusEvent):void {
trace("status is " + evt.status);
}
statut est toujours 0, indépendamment de savoir si j'retour 200, 400, 404, 301, 500, etc...
Des idées?
OriginalL'auteur user139078 | 2010-02-17
Vous devez vous connecter pour publier un commentaire.
De l'AIR, vous pouvez utiliser le httpResponseStatus. Sinon en Flash/Flex sans AIR vous ne pouvez pas.
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/URLLoader.html#event:httpResponseStatus
evénement httpResponseStatus
L'événement Type d'Objet: flash.les événements.HTTPStatusEvent
HTTPStatusEvent.type de propriété = flash.les événements.HTTPStatusEvent.HTTP_RESPONSE_STATUS
Version Du Langage : ActionScript 3.0
Versions du moteur d'exécution : AIR AIR 1.0 1.0
Distribué si un appel à la méthode load() tente d'accéder aux données via HTTP, et Adobe AIR est capable de détecter et de renvoyer le code d'état de la demande.
Contrairement à la httpStatus événement, l'evénement httpResponseStatus est livré avant tout des données de réponse. Aussi, l'evénement httpResponseStatus comprend des valeurs pour la responseHeaders et responseURL propriétés (qui ne sont pas définis pour un httpStatus événement. Notez que l'evénement httpResponseStatus (le cas échéant) devront être envoyés avant (et en plus) tout ou complète de l'événement d'erreur.
OriginalL'auteur Todd Moses
la capacité à regarder les en-têtes sont limitées dans plusieurs navigateurs, donc flash a un problème avec le fait d'être transmis l'information. c'est principalement à blâmer les paramètres du navigateur, mais je n'en ai pas trouvé où cela fonctionne réellement. le statut de sortie de l'événement.
j'ai abandonné et avait l'impression de fichier le code de réponse dans mes projets, pas extraordinaire (et un peu en battant le point), mais semble fonctionner.
OriginalL'auteur longstaff
Comme une réponse tardive (FWIW):
De ce que j'ai lu, les codes d'état que vous obtenez dépend de ce navigateur Flash player est en cours d'exécution.
Un article dit que vous ne pouvez obtenir 200 ou 500. Une SORTE de question dit qu'ils étaient arriver 207 dans Chrome, mais 0 dans Firefox.
Personnellement, j'ai testé à l'aide de la dev Flash player ainsi que d'une version ActiveX et a été en mesure d'obtenir beaucoup de différents 2XX/4XX les codes d'état HTTP (mais ne pouvait pas obtenir le 3XX rediriger les codes que j'ai essayé, parce que la demande a obtenu redirigé et retourné 200s).
OriginalL'auteur paul