datasource-get.mustache revision 819e90d415ed17d59af3a247b2ad9d6feb0c21b5
199767f8919635c4928607450d9e0abb932109ceToomas Soome<style scoped>
199767f8919635c4928607450d9e0abb932109ceToomas Soome/* custom styles for this example */
199767f8919635c4928607450d9e0abb932109ceToomas Soome#demo .output {margin-bottom:1em; padding:10px; border:1px solid #D9D9D9;}
199767f8919635c4928607450d9e0abb932109ceToomas Soome</style>
199767f8919635c4928607450d9e0abb932109ceToomas Soome
199767f8919635c4928607450d9e0abb932109ceToomas Soome<div class="intro">
199767f8919635c4928607450d9e0abb932109ceToomas Soome <p>DataSource.Get uses the Get Utility to retrieve data, even cross-domain resources, via a dynamically created script node. A <a href="../dataschema/">DataSchema</a> 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`.</p>
199767f8919635c4928607450d9e0abb932109ceToomas Soome</div>
199767f8919635c4928607450d9e0abb932109ceToomas Soome
199767f8919635c4928607450d9e0abb932109ceToomas Soome<div class="example yui3-skin-sam">
199767f8919635c4928607450d9e0abb932109ceToomas Soome {{>datasource-get-source}}
199767f8919635c4928607450d9e0abb932109ceToomas Soome</div>
199767f8919635c4928607450d9e0abb932109ceToomas Soome
199767f8919635c4928607450d9e0abb932109ceToomas Soome<p>Use a DataSourceJSONSchema plugin to parse the data against a schema that you provide:</p>
199767f8919635c4928607450d9e0abb932109ceToomas Soome
199767f8919635c4928607450d9e0abb932109ceToomas Soome```
199767f8919635c4928607450d9e0abb932109ceToomas SoomeYUI().use("datasource-get", "datasource-jsonschema", function(Y) {
199767f8919635c4928607450d9e0abb932109ceToomas Soome var myDataSource = new Y.DataSource.Get({
199767f8919635c4928607450d9e0abb932109ceToomas Soome source: "http://query.yahooapis.com/v1/public/yql?format=json&"
199767f8919635c4928607450d9e0abb932109ceToomas Soome });
199767f8919635c4928607450d9e0abb932109ceToomas Soome
199767f8919635c4928607450d9e0abb932109ceToomas Soome myDataSource.plug(Y.Plugin.DataSourceJSONSchema, {
199767f8919635c4928607450d9e0abb932109ceToomas Soome schema: {
199767f8919635c4928607450d9e0abb932109ceToomas Soome resultListLocator: "query.results.result",
199767f8919635c4928607450d9e0abb932109ceToomas Soome resultFields: ["title"]
199767f8919635c4928607450d9e0abb932109ceToomas Soome }
199767f8919635c4928607450d9e0abb932109ceToomas Soome });
199767f8919635c4928607450d9e0abb932109ceToomas Soome
199767f8919635c4928607450d9e0abb932109ceToomas Soome myDataSource.sendRequest({
199767f8919635c4928607450d9e0abb932109ceToomas Soome request: "q=select%20*%20from%20upcoming.events.bestinplace...",
199767f8919635c4928607450d9e0abb932109ceToomas Soome callback: {
199767f8919635c4928607450d9e0abb932109ceToomas Soome success: function (e) { /* output to screen */ },
199767f8919635c4928607450d9e0abb932109ceToomas Soome failure: function (e) { /* output to screen */ }
199767f8919635c4928607450d9e0abb932109ceToomas Soome }
199767f8919635c4928607450d9e0abb932109ceToomas Soome });
199767f8919635c4928607450d9e0abb932109ceToomas Soome
199767f8919635c4928607450d9e0abb932109ceToomas Soome});
199767f8919635c4928607450d9e0abb932109ceToomas Soome```
199767f8919635c4928607450d9e0abb932109ceToomas Soome
199767f8919635c4928607450d9e0abb932109ceToomas Soome