DataSource Utility: DataSource.Get
DataSource.Get uses the Get Utility to retrieve data, even cross-domain resources, via a dynamically created script node. A DataSchema plugin is used to normalize incoming data into a known format for consistency of usage by other components. Please note that your data resource must support a callback mechanism, which is a function wrapper around the returned data. The name of the callback function is passed to the resource via a query string parameter defined by the DataSource.Get attribute
scriptCallbackParam
.
Use a DataSourceJSONSchema plugin to parse the data against a schema that you provide:
YUI().use("datasource-get", "datasource-jsonschema", function(Y) { var myDataSource = new Y.DataSource.Get({ source:"http://query.yahooapis.com/v1/public/yql?format=json&"}), myCallback = { success: function(e){ alert(e.response); }, failure: function(e){ alert("Could not retrieve data: " + e.error.message); } }; myDataSource.plug(Y.Plugin.DataSourceJSONSchema, { schema: { resultListLocator: "query.results.result", resultFields: ["title"] } }); myDataSource.sendRequest(" q=select%20*%20from%20search.web%20where%20query%3D%22pizza%22", myCallback); });
YUI().use("datasource-get", "datasource-jsonschema", function(Y) { var myDataSource = new Y.DataSource.Get({ source:"http://query.yahooapis.com/v1/public/yql?format=json&"}), myCallback = { success: function(e){ alert(e.response); }, failure: function(e){ alert("Could not retrieve data: " + e.error.message); } }; myDataSource.plug(Y.Plugin.DataSourceJSONSchema, { schema: { resultListLocator: "query.results.result", resultFields: ["title"] } }); myDataSource.sendRequest(" q=select%20*%20from%20search.web%20where%20query%3D%22pizza%22", myCallback); });