Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-01-2011, 00:41   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 491
Exclamation Ausnahme nach Absetzen einer POST-Anfrage

Ich möchte mit POST eine simple Anfrage an einen entfernten HTTP-Server versenden:
Code:
var variables:URLVariables = new URLVariables();
variables.question = txtQuestion.text;
variables.gender = txtTitle.text;
variables.firstname = txtFirstname.text;
variables.lastname = txtLastname.text;
variables.phone = txtPhone.text;
variables.email = txtEmail.text;
variables.postal = txtPostal.text;
var submit_url:String = cms.form_submit_url;
var request:URLRequest = new URLRequest(submit_url);
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
request.data = variables;
request.method = URLRequestMethod.POST;
loader.addEventListener(Event.COMPLETE, submitCompleteHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, submitFailedHandler);
loader.load(request);
Nun erhalte ich jedoch die folgende Fehlermeldung:
Zitat:
Error: Error #2101: Der an URLVariables.decode() übergebene String muss ein URL-kodierter Abfrage-String mit Name/Wert-Paaren sein.
at Error$/throwError()
at flash.net::URLVariables/decode()
at flash.net::URLVariables()
at flash.net::URLLoader/onComplete()
Die Anfrage kommt auch an und wird von dem Server verarbeitet.
Allerdings stört die Ausnahme den weiteren Verlauf und entstellt das Benutzer-Erlebnis.
  • Wie behebe ich die für den Fehler verantwortliche Ursache?
  • Oder - falls dies so nicht gehen sollte - wie kann ich Fehlermeldung ignorieren?

Vielen Dank für eure Antworten im Voraus!
Mit freundlichen Grüßen
Firemice
Firemice ist offline   Mit Zitat antworten
Alt 14-01-2011, 01:25   #2 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
URLLoaderDataFormat.VARIABLES ist insofern buggy, weil dieser Fehler an einer Stelle geschmissen wird, wo du keine Möglichkeit hast ihn abzufangen.
du kommst einfach nicht dran!

Zitat:
Zitat von Firemice Beitrag anzeigen
  • Wie behebe ich die für den Fehler verantwortliche Ursache?
vom Server muss folgendes zurückkommen
  • ein String bestehend aus Namen-Werte Paaren
    "name1=wert1&name2=wert2&name3=wert3"
  • darf kein leerer String sein ("" oder " ", etc.)
  • kein & am Anfang, keines am Ende!
  • die Sonderzeichen die ich eben ausprobiert habe, werden schlicht als teil des Namens oder des Wertes assimiliert. bsp:
    "?name=wert" => v['%3Fname'] = "wert";

Zitat:
Zitat von Firemice Beitrag anzeigen
  • Oder - falls dies so nicht gehen sollte - wie kann ich Fehlermeldung ignorieren?
ActionScript:
  1. var variables:URLVariables = new URLVariables();
  2.     variables.question = txtQuestion.text;
  3.     variables.gender = txtTitle.text;
  4.     variables.firstname = txtFirstname.text;
  5.     variables.lastname = txtLastname.text;
  6.     variables.phone = txtPhone.text;
  7.     variables.email = txtEmail.text;
  8.     variables.postal = txtPostal.text;
  9. var submit_url:String = cms.form_submit_url;
  10. var request:URLRequest = new URLRequest(submit_url);
  11.     request.data = variables;
  12.     request.method = URLRequestMethod.POST;
  13. var loader:URLLoader = new URLLoader();
  14.     loader.dataFormat = URLLoaderDataFormat.TEXT;
  15.     loader.addEventListener(Event.COMPLETE, submitCompleteHandler);
  16.     loader.addEventListener(IOErrorEvent.IO_ERROR, submitFailedHandler);
  17.     loader.load(request);
  18.  
  19. function submitCompleteHandler(e:Event):void
  20. {
  21.     try {
  22.         var v:URLVariables = new URLVariables(loader.data);
  23.         //...
  24.     } catch (err:Error) {
  25.         trace('Das ist kein URL-Kodierter String: \n' + loader.data + '\n---');
  26.     }
  27. }
  28.  
  29. //alternativ, versuch mal folgendes:
  30. function submitCompleteHandler(e:Event):void
  31. {
  32.     if(loader.data.indexOf('=') == -1) return;
  33.    
  34.     var v:URLVariables = new URLVariables(loader.data);
  35.     //...
  36. }
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
ausnahme, exception, formular, post, urlloader

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS4] PHP-Anfrage nach x-Sek. abrechen und Info zeigen iceman_fx Flash Einsteiger 0 12-11-2010 19:35
http post anfrage mit php senden bubzilla PHP und MySQL 2 23-11-2006 10:38
Daten von PHP nach Flash via POST sunnymood PHP und MySQL 1 26-10-2005 18:51
statuscode einer anfrage ermitteln ? Vivienne PHP und MySQL 2 06-10-2003 11:18
merkwürdiges php verhalten nach geturl (post) cYz Flash 4 und Flash 5 0 30-01-2002 21:40


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele