O'Reilly logo

Actionscript Cookbook by Joey Lott

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

18.4. Sending Data to a Server-Side Script

Problem

You want to send data from a Flash movie to a server-side script.

Solution

Use the LoadVars.send( ) method. Use LoadVars.sendAndLoad( ) if you expect a response.

Discussion

Use the LoadVars.send( ) method to send data to a server-side script if there is no need to process the result. For example, you might want to submit a web form’s data to a server-side script without displaying any result from the server-side processing. However, the send( ) method does not return any confirmation that the data was received, so it isn’t practical in most cases. Even if you just want to display a static message such as “Thank you for submitting the form,” you need confirmation that the variables were successfully received on the server. Therefore, if you want confirmation of receipt, use the sendAndLoad( ) method instead (see Recipe 18.5).

The send( ) method sends all the enumerable properties of a LoadVars object to the specified URL. Enumerable properties are any properties that show up in a for . . . in statement for that object. The built-in methods and properties of the LoadVars class do not show up in a for . . . in statement, but custom properties do:

myLoadVars = new LoadVars(  );

// Nothing is displayed in this example.
for (var prop in myLoadVars) {
  trace(prop);
}

myLoadVars.myVar = "test";

// Now the myVar property shows up. When send(  ) is invoked 
// from myLoadVars, the myVar variable is sent to the specified URL. for (var prop in myLoadVars) ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required