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) ...

Get Actionscript Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.