schammy79
March 28th, 2008, 12:03 PM
First time I get this error, so I'm not sure how to understand it...
Error: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs.
at Error$/throwError()
at flash.net::URLVariables/decode()
at flash.net::URLVariables()
at flash.net::URLLoader/onComplete()
I see that the line resulting in error is:
var vars:URLVariables=new URLVariables(e.target.data);
I tried adding trace(e.target.data), but not sure where at this point... Any HELP, PLS ?!?!
Below is my code:
package
{
import flash.display.MovieClip;
import flash.text.TextField;
import flash.utils.Timer;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.events.IEventDispatcher;
import flash.net.URLLoader;
import flash.net.URLVariables;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLLoaderDataFormat;
import flash.events.SecurityErrorEvent;
import flash.events.IOErrorEvent;
public class Main extends MovieClip
{
private var angle:Number=Math.PI/2;
private var timer:Timer;
private var loader:URLLoader;
private const url:String='newsletter.php';
private var _Name:String;
private var _EMail:String;
private var action:String;
public function Main()
{
init();
closebutton.addEventListener(MouseEvent.CLICK, unloadFunction);
}
public function init():void
{
if (stage) {
stage.frameRate = 31;
}
letter_mc.alpha=.7;
letter_mc.addEventListener(Event.ENTER_FRAME,turnL etter);
email_mc.field_txt.background=name_mc.field_txt.ba ckground=false;
email_mc.field_txt.backgroundColor=name_mc.field_t xt.backgroundColor=0x999999;
email_mc.field_txt.border=name_mc.field_txt.border =true;
email_mc.field_txt.borderColor=name_mc.field_txt.b orderColor=0x333333;
join_btn.label='JOIN';
join_btn.addEventListener(MouseEvent.MOUSE_DOWN,go );
delete_btn.label='DELETE';
delete_btn.addEventListener(MouseEvent.MOUSE_DOWN, go);
}
private function go(evt:MouseEvent):void
{
_EMail=email_mc.field_txt.text;
_Name=name_mc.field_txt.text;
if(EmailChecker.checkEMail(_EMail))
{
if(_Name!="")
{
if(_Name.length>=4)
{
switch(evt.target.name)
{
case 'join_btn':
action='registra';
cool(action);
break;
case 'delete_btn':
action='elimina';
cool(action);
break;
}
}
else
{
notCool('the name is too short');
}
}
else
{
notCool('please, insert a name');
}
}
else
{
notCool('invalid e-mail address');
}
}
private function turnLetter(evt:Event):void
{
var sine:Number=Math.sin(angle);
var cosine:Number=Math.cos(angle);
evt.target.scaleX=sine;
angle+=.1;
}
private function notCool(s:String):void
{
letter_mc.alpha=.2;
error_txt.text=s;
timer=new Timer(1500,1);
timer.addEventListener(TimerEvent.TIMER,done);
timer.start();
}
private function cool(s:String):void
{
var variables:URLVariables=new URLVariables();
variables.azione=s;
variables.nome=_Name;
variables.eMail=_EMail;
var richiesta:URLRequest=new URLRequest();
richiesta.url=url;
richiesta.method=URLRequestMethod.POST;
richiesta.data=variables;
loader=new URLLoader();
loader.dataFormat=URLLoaderDataFormat.VARIABLES;
addListeners(loader);
try
{
loader.load(richiesta);
}
catch (error:Error)
{
trace('Unable to load requested document.');
}
}
private function done(evt:TimerEvent):void
{
letter_mc.alpha=.7;
error_txt.text="";
}
private function addListeners(d:IEventDispatcher):void
{
d.addEventListener(Event.OPEN,inizio);
d.addEventListener(Event.COMPLETE,completato);
d.addEventListener(SecurityErrorEvent.SECURITY_ERR OR,securityError);
d.addEventListener(IOErrorEvent.IO_ERROR,ioError);
}
private function inizio(e:Event):void
{
letter_mc.alpha=.2;
email_mc.visible=false;
name_mc.visible=false;
join_btn.visible=false;
delete_btn.visible=false;
info_mc.visible=false;
}
private function completato(e:Event):void
{
var vars:URLVariables=new URLVariables(e.target.data);
trace(vars.answer);
switch(vars.answer)
{
case 'done':
writeDone();
break;
case 'not done':
writeNotDone();
break;
}
}
private function securityError(e:SecurityErrorEvent):void
{
trace('security error: '+e+'\n');
}
private function ioError(e:IOErrorEvent):void
{
trace('send/load error: '+e+'\n');
}
private function writeDone():void
{
if(action=='registra')
final_txt.text=' You have been added to our Newsletter.\n'+
'A confirmation link has been sent to your e-mail';
else
final_txt.text=' You have been deleted from our Newsletter.\n'+
'A confirmation link has been sen tto your e-mail'; reset();
}
private function writeNotDone():void
{
if(action=='registra')
final_txt.text=' You already are a member of our Newsletter.\n';
else
final_txt.text=' You are not a member of our Newsletter yet.\n'+
"we can't delete you\n"+
'Have a superb day.';
reset();
}
private function reset():void
{
timer=new Timer(4000,1);
timer.addEventListener(TimerEvent.TIMER,resetAll);
timer.start();
}
private function resetAll(evt:TimerEvent):void
{
final_txt.text="";
email_mc.field_txt.text="";
name_mc.field_txt.text="";
letter_mc.alpha=.7;
email_mc.visible=true;
name_mc.visible=true;
join_btn.visible=true;
delete_btn.visible=true;
info_mc.visible=true;
}
function unloadFunction(event:MouseEvent) {
dispatchEvent(new Event("UnloadMe", true));
}
public function kill():void {
removeEventListener(MouseEvent.CLICK, unloadFunction);
}
}
}
Error: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs.
at Error$/throwError()
at flash.net::URLVariables/decode()
at flash.net::URLVariables()
at flash.net::URLLoader/onComplete()
I see that the line resulting in error is:
var vars:URLVariables=new URLVariables(e.target.data);
I tried adding trace(e.target.data), but not sure where at this point... Any HELP, PLS ?!?!
Below is my code:
package
{
import flash.display.MovieClip;
import flash.text.TextField;
import flash.utils.Timer;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.events.IEventDispatcher;
import flash.net.URLLoader;
import flash.net.URLVariables;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLLoaderDataFormat;
import flash.events.SecurityErrorEvent;
import flash.events.IOErrorEvent;
public class Main extends MovieClip
{
private var angle:Number=Math.PI/2;
private var timer:Timer;
private var loader:URLLoader;
private const url:String='newsletter.php';
private var _Name:String;
private var _EMail:String;
private var action:String;
public function Main()
{
init();
closebutton.addEventListener(MouseEvent.CLICK, unloadFunction);
}
public function init():void
{
if (stage) {
stage.frameRate = 31;
}
letter_mc.alpha=.7;
letter_mc.addEventListener(Event.ENTER_FRAME,turnL etter);
email_mc.field_txt.background=name_mc.field_txt.ba ckground=false;
email_mc.field_txt.backgroundColor=name_mc.field_t xt.backgroundColor=0x999999;
email_mc.field_txt.border=name_mc.field_txt.border =true;
email_mc.field_txt.borderColor=name_mc.field_txt.b orderColor=0x333333;
join_btn.label='JOIN';
join_btn.addEventListener(MouseEvent.MOUSE_DOWN,go );
delete_btn.label='DELETE';
delete_btn.addEventListener(MouseEvent.MOUSE_DOWN, go);
}
private function go(evt:MouseEvent):void
{
_EMail=email_mc.field_txt.text;
_Name=name_mc.field_txt.text;
if(EmailChecker.checkEMail(_EMail))
{
if(_Name!="")
{
if(_Name.length>=4)
{
switch(evt.target.name)
{
case 'join_btn':
action='registra';
cool(action);
break;
case 'delete_btn':
action='elimina';
cool(action);
break;
}
}
else
{
notCool('the name is too short');
}
}
else
{
notCool('please, insert a name');
}
}
else
{
notCool('invalid e-mail address');
}
}
private function turnLetter(evt:Event):void
{
var sine:Number=Math.sin(angle);
var cosine:Number=Math.cos(angle);
evt.target.scaleX=sine;
angle+=.1;
}
private function notCool(s:String):void
{
letter_mc.alpha=.2;
error_txt.text=s;
timer=new Timer(1500,1);
timer.addEventListener(TimerEvent.TIMER,done);
timer.start();
}
private function cool(s:String):void
{
var variables:URLVariables=new URLVariables();
variables.azione=s;
variables.nome=_Name;
variables.eMail=_EMail;
var richiesta:URLRequest=new URLRequest();
richiesta.url=url;
richiesta.method=URLRequestMethod.POST;
richiesta.data=variables;
loader=new URLLoader();
loader.dataFormat=URLLoaderDataFormat.VARIABLES;
addListeners(loader);
try
{
loader.load(richiesta);
}
catch (error:Error)
{
trace('Unable to load requested document.');
}
}
private function done(evt:TimerEvent):void
{
letter_mc.alpha=.7;
error_txt.text="";
}
private function addListeners(d:IEventDispatcher):void
{
d.addEventListener(Event.OPEN,inizio);
d.addEventListener(Event.COMPLETE,completato);
d.addEventListener(SecurityErrorEvent.SECURITY_ERR OR,securityError);
d.addEventListener(IOErrorEvent.IO_ERROR,ioError);
}
private function inizio(e:Event):void
{
letter_mc.alpha=.2;
email_mc.visible=false;
name_mc.visible=false;
join_btn.visible=false;
delete_btn.visible=false;
info_mc.visible=false;
}
private function completato(e:Event):void
{
var vars:URLVariables=new URLVariables(e.target.data);
trace(vars.answer);
switch(vars.answer)
{
case 'done':
writeDone();
break;
case 'not done':
writeNotDone();
break;
}
}
private function securityError(e:SecurityErrorEvent):void
{
trace('security error: '+e+'\n');
}
private function ioError(e:IOErrorEvent):void
{
trace('send/load error: '+e+'\n');
}
private function writeDone():void
{
if(action=='registra')
final_txt.text=' You have been added to our Newsletter.\n'+
'A confirmation link has been sent to your e-mail';
else
final_txt.text=' You have been deleted from our Newsletter.\n'+
'A confirmation link has been sen tto your e-mail'; reset();
}
private function writeNotDone():void
{
if(action=='registra')
final_txt.text=' You already are a member of our Newsletter.\n';
else
final_txt.text=' You are not a member of our Newsletter yet.\n'+
"we can't delete you\n"+
'Have a superb day.';
reset();
}
private function reset():void
{
timer=new Timer(4000,1);
timer.addEventListener(TimerEvent.TIMER,resetAll);
timer.start();
}
private function resetAll(evt:TimerEvent):void
{
final_txt.text="";
email_mc.field_txt.text="";
name_mc.field_txt.text="";
letter_mc.alpha=.7;
email_mc.visible=true;
name_mc.visible=true;
join_btn.visible=true;
delete_btn.visible=true;
info_mc.visible=true;
}
function unloadFunction(event:MouseEvent) {
dispatchEvent(new Event("UnloadMe", true));
}
public function kill():void {
removeEventListener(MouseEvent.CLICK, unloadFunction);
}
}
}