ActionScript 3.0 :: Asp Variables Via URLLoader.data?
May 11, 2009
Having trouble get the URLLoader class to work.Unsure but I must be missing something basic.Just trying to send name/value pairs from asp to flash.AS3 Code:
Code:
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
i've been setting up a high score table in my game, and everything is working, but i cant work out how to get variables from the URLLoader.data that im retrievingif i trace loadedScores.data, i get this&name1=matt&score1=323250&name2=1234567890123456.. . and so o've tried passing it to a URLVariables constructor, but it says the string doesnt contain the correct name/variable pairs or something, and loadedScores.data.name1 doesnt work.
I am trying to get my PHP variables from my load.php document to my flash-document.That all works fine and I am able to get my data down to flash variables inside my function.But, I would like to be able to access this data from outside of this function which gets the data - unfortunately I cant, or.. Don't know how to. I hope that you are able to shed a light upon my problem. So here goes, this is my code:
Code: var myLoader:URLLoader = new URLLoader() myLoader.dataFormat = URLLoaderDataFormat.VARIABLES
Recently i got job that finaly includes some AS3, so im getting back into the world of flash again. But as you all can imagen, not without problems... let me explain what i'm trying to get working:
A little background:We are currently recreating a game within flash, the game requires a login to create a sessionid (server side) to retrieve gamedata based on that sessionid. The login page for this, is done with a certain framework (cake), wich we are not going to change, because the existing game is already in production phase.
The problem:The original form sends the username and password with nested variables like this:
AS3Trying to replicate the request in as3 like this:
[AS] public function login(username:String, password:String):void{ var loader:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest(this.baseUrl + this.loginPath);
I am building a simple swf that will load in variables from an asp page using a URLloader and URLRequest. The asp page loads in the current values from a SQL database but these values will change every second. My swf loops every 6 frames and loads the data. How much load this puts on the server? And when the server is busy might this cause a problem with the variables I am reading in?
Does AS3 run all actions on frame 1 before going to frame 2 etc? I don't know if this is the best way but my last variable in the ASP page is called Loaded and I test for it before moving on. My major concern is the load I am putting on the website but is this small? In firefox the status box constantly flickers transferring data from ... and waiting .. but in other browsers you can't see the activity.
in AS3 I'm trying to load a URL (a Yahoo address) into the application so I can process the source code and pull things out of it.However, when I load it, or any other page, I get 0 bytes back.Here's my current code.
private function doSearch():void { var req:URLRequest = new URLRequest("http://yahoo.com"); var loader:URLLoader = new URLLoader();
All Im trying to do is post firstname, lastname and emailaddress from a form inside my swf to a php file and then get that php file to return a result back to my swf.
First of all i tried using external interface to handle this because the server its going to run on doesnt support PHP.
I had the SWFgrab the data from the text fields, pass the data to JS through external interface, then the JS would use jquery AJAX to execute the php file, then the JS would grab the results from the AJAXd div, then pass the data back through to the SWF. It was a bit of a circle jerk but it worked.
However, the PHP script that needs to be executed in a different domain as the SWF. I forgot that this would cause an issue. I then tried to setup AJAX crossdomain policies, but this is going to be a reasonably high traffic site and i felt that the proxy options that i found were kind of slow.
I realised that what id been doing so far was probably over complicated anyway. So, i went back to basics and thought id try using the URLLoader to load in the php file as a string. I setup a crossdomain.xml file on my server that will be hosting the PHP and used the loader to grab the PHP file.
This works fine, all the PHP does is echo out 3 comma separated values which i then split into an array and use in my SWF. I get the values no problem. However, my status bar in firefox keeps saying that its still transferring.
Ive tried telling the PHP script to 'exit();' after its echo'd out my results. Ive tried telling the URLoader to .close(); when its grabbed the data, neither of which stop it from transferring. Im also using the web debugging proxy 'Charles' and that says that the connection opened and closed successfully, but firefox still says that its transferring.[code]...
Im working with this little sidescroller tile based game, im saving maps to xml file. But got this little problem. I would like to do something like this.
var currentLevel:int = 1; var myMap:String = "map" + currentLevel; var myMap = xmlData.myMap.tiles.text();
so i would like to put that variable to that getting data from xml so if my currentLevel changes its getting diffrent data from xml file. so is that possible to put variable to that xmlData.myMap.tiles.text();
I have Flash website, and I load data from XML file with urlLoader. If I change data in XML-file, refresh doesn't update data in site. I need to publish it again! How can I make this automatic, that I only need to refresh when data is changed? I can't allways publish when I change somethin in XML-file.
In my app, I load multiple xml files. And to load those, I always create a new URLLoader. Nothing special. The first file works fine, the second one does, too. The third one, however, reports to have loaded fine, but the data it holds is actually the data of the second file. The current workaround is to load the third file twice, which somehow works... weird.
Code: var myData:URLRequest=new URLRequest("scrip.php"); myData.method=URLRequestMethod.POST; var variables:URLVariables = new URLVariables();
[Code]......
to send data to a script and I want it to go to that page too. Kind of like a if you had a flash login screen that just took a id and it sent you to the next page with that. I can do it with get put I need the id hiden
I am loading data from php using the echo method into flash via the URL loader:URLLoader method. The data then gets assigned to an objectMy problem is that the loaded data is being imported in fine and I can trace it and even display it in a text box, but if I try and use this data in a conditional statement - the statement just won't recognize its value?
My PHP---v $row = mysql_fetch_array($query); echo "result=success";
How can I parse my incoming string returned by server and get values?
Look at the code below, that is part of a class I am writing:
Code: var PHPURLRequest:URLRequest = new URLRequest(MyServerURL+"myscript.php"); var PHPsendVars:URLVariables = new URLVariables(); var PHPLoader:URLLoader = new URLLoader();
I am loading data from php using the echo method into flash via the URL loader:URLLoader method. The data then gets assigned to an object.My problem is that the loaded data is being imported in fine and I can trace it and even display it in a text box, but if I try and use this data in a conditional statement - the statement just won't recognize its value?[code]My problem is in green above. The variable/data being imported in is indicating which measuring unit the user preferred - "inchs" for inch's or "cms" for centimeter's.The statement never seems to recognize this data and always proves false and 'else' is executed.However if I instruct the data to be displayed in a text box eg."display.text = n.unit;" The text box displays the correct result as if the data has came across fine?
I understand the Flash and AS3 is single-threaded, at least at the user level. I would like to understand how asynchronous data loading is handled by the Flash player.
For instance, if I run CPU-intensive code that runs beyond the normal frame (lets say it runs on ENTER_FRAME, and consumes 1/4 per call). Does this leave any CPU cycles to load data from a URLLoader?
If http loading is truly synchronous, right down to handling the TCP/IP stack, one would get horrible performance. In Windows programming, I can do http access asynchronously (in which case the Windows libraries are doing either input on a separate thread, or doing hardware-level interrupts to handle the data -- I provide an asynchronous callback that may be on its own thread). Or, I can do synchronous download, in which case there will be hardware buffering, but my application is actively waiting for each buffer of data to be delivered by the hardware/OS combination.
URLLoader is asynchronous, but what does that mean? Does it mean that I can run the CPU and still download data? Or, will my download speed slow to a crawl if my Flash application is under heavy CPU load? Understanding how this works will help me design my product better, which both uses a lot of CPU, and downloads a lot of data (to the bandwidth limit of the network, if possible).
Without getting into the details of why (its for school) I'm trying to use a custom preloader I've created to load a Flash video.I've created the animations, and the loader functions, but on the Event.COMPLETE event, how do I pass the data I've loaded into myUrlLoader to an FLVPlayback component?Or should I even be using the FLVPlayback component? Everything up till:
myUrlLoader.addEventListener(Event.COMPLETE, function(e:Event){ //what do I do? });
1 - SWF must have ability to loading binary data from any domain.
2 - SWF cant load policy XML file from url, cause upload form allows me only to upload swf files, so I cant include any other data. I tried:
Security.allowDomain("*");
But it works only for SWF files.I tried to embed policy XML file:
var dataXML:XML = <?xml version="1.0"?> <!-- http://www.foo.com/crossdomain.xml --> <cross-domain-policy>
[code]....
This will make an security error, if file is from different domain than SWF file.Its possible to get binary data from JavaScript using ExternatInterface in AS3 code.Here is cross-browser library for reading files binary: binary reader and later version jDataView.
I use flex builder to compile a single class to load an text data from the same domain.it works perfect in IE browser. But something is wrong with the firefox browser.take a look at the following code:
Im creating flash game that have the functionality to capture/record its gameplay that can be viewed later by the user, like a replay.
As for now Im already able to record the game and write it into a flv format in a ByteArray variable.
What Im working right now is how to send that ByteArray(the video file) to a php script and save it to a web server.
I've run into the URLLoader in flash where it can send the data and php will receive it thru the POST method. Unfortunately, the ByteArray containing the flv data must be first correclty encoded for php to read it. I figured this out from the example in the net where it does the same thing only that it is only sending a JPEG ByteArray instead of a FLV format using the JPEGENCODER.
Is there any existing class like the JpegEncoder for FLV format or any Video formats? Or any work around like creating the encoder my self?
here is my current code to send the ByteArray
//send byteArray to a php script var request:URLRequest = new URLRequest(url); request.method = URLRequestMethod.POST;
I have a queue of messages that I would like to send to a URL and I would like to remove messages from that queue only after I am sure they have been successfully sent. To do this I need to know in the COMPLETE event for the URLLoader exactly what data was sent so that I can remove the correct message from the queue.That is if I have something like this.
var urlRequest:URLRequest = new URLRequest(targetUrl); var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
How ever when I keep getting back "error:empty request". I emailed the site owner and he said that my program may be dropping the data during redirects.[URL]
I have a URLLoader which normally requesting the data to be in Text format, anyway on a specific conditions it might gets a Binary as result, which is actually just 1 integer number in binary format. Anyway the conversation :
[Code]...
doesnt passing anymore since the result data is in text forma due the request header... How to convert the result data into integer ?
I am a fairly new as3 user and am working on a video player that loads an xml file into a URLloader as a playlist. I have everything working but I want to add a few buttons to change the content of the playlist. All of the data will come from the same xml document, so I don't think i have to reload the xml. I can get the content to load when the button is pushed, but it jsut adds to the previous content instead of replacing i. How to clear the content before adding?
Here is my code (that relates to this) so far.... public class playlist_controller extends MovieClip { private var xml_loader:URLLoader; public function playlist_controller():void { ////load the xml file xml_loader = new URLLoader(); [Code] .....
I'm trying to send about 1 MB of binary data to server via URLLoader. But when I call method load of this class, my application hangs for about 1-1.5 seconds, then uploading runs normally. How can I prevent it?
How to retrieve xml data in an aspx page after sending it using URLLoader.load
This is the flash code i am using:
var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.TEXT; //tried by giving VARIABLES also urlLoader.addEventListener(Event.COMPLETE, handleComplete); urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
[Code]....
I were able to accept data in above statement when i send a string in var1 say "test". But on sending xml above error is getting.I have tried to load the xml data in XMLDocument also.
In AS20 i used sendAndLoad method to send and reterive xml data.
I am experiencing an interesting problem...I have a URLLoader instance with a Event.COMPLETED listener. I can reproduce behavior such that when the listener is called, there is a discrepancy in the amount of loaded data.