This example demonstrates how to use Connection Manager to make a cross-domain request using the alternate Flash transport. In this example, a request will be made to Yahoo! Pipes, which will respond with JSON data, completing the transaction.
Load the Yahoo Global Object, Connection Manager, and its Event dependency. This example also makes use of the JSON utility.
Before making a cross-domain request, the underlying transport -- connection.swf
must be initialized. This is done by calling the transport() on YAHOO.util.Connect
, and setting the parameter as the path to the swf, relative to the HTML.
Once the transport has initialized, it will fire xdrReadyEvent. Attach a listener to this event, so we know when the transport is ready for use. Here, the button to send the cross-domain request is disabled until the transport fires xdrReadyEvent.
Cross-domain transactions are determined by setting the xdr
property on the callback object to true
. This instructs Connection Manager to use the alternate transport, initialized earlier, instead of XMLHttpRequest.
In this example, we will create functions to handle success and failure outcomes, and use a global listener to Connection Manager's startEvent
to listen for the start of each transaction. Since the response data are JSON, we use the JSON utility to parse it, and use substitute
to filter the results.