Skip to content

Instantly share code, notes, and snippets.

@joerussbowman
Created January 15, 2011 23:54
Show Gist options
  • Save joerussbowman/781383 to your computer and use it in GitHub Desktop.
Save joerussbowman/781383 to your computer and use it in GitHub Desktop.
Example yui3 autocomplete using yql
<input type="text" name="q" id="q" />
<script type="text/javascript">
YUI().use("autocomplete", "autocomplete-highlighters", "datasource-get", function (Y) {
var acDS = new Y.DataSource.Get({
source: "http://sugg.search.yahoo.com/gossip-us-fp/?nresults=10&queryfirst=2&output=json&version=&command=",
});
Y.one('#q').plug(Y.Plugin.AutoComplete, {
maxResults: 10,
resultHighlighter: 'phraseMatch',
requestTemplate: "{query}",
resultListLocator: 'gossip.results',
resultTextLocator: 'key',
source: acDS
});
});
</script>
@rgrove
Copy link

rgrove commented Jan 16, 2011

To clarify: I'm not officially saying you're allowed to use sugg.search, I'm just saying you probably won't get blocked. ;)

Here's an example showing how to use AutoComplete+DataSource+YQL: http://developer.yahoo.com/yui/3/examples/autocomplete/ac_datasource.html

@joerussbowman
Copy link
Author

Fair enough. I'm actually putting the query client side in the browser, so if anyone complains I'll just pull it down quickly. It's so raw right now I only have 1 person who uses it beside me. I was thinking I'd just skip YQL altogether and do a datasource direct to sugg.search.

@joerussbowman
Copy link
Author

If you get a sec, can you take a look at the new version of this gist and tell me why it's not working? Based off of everything I've read it should work, but it's not creating the list at all.

@rgrove
Copy link

rgrove commented Jan 16, 2011

DataSource.Get requires a response wrapped in a JSONP callback. The sugg.search API doesn't let you specify a custom JSONP callback, so this can't work. You'll have to go through YQL to get past the same domain restriction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment