jquery - 谷歌 XML 建议

标签 jquery html xml autosuggest

Google 建议以 XML 表的形式在线发布,例如,这些是单词堆栈的建议:XML results by Google .这是一个截断的版本:

<toplevel>
  <CompleteSuggestion>
    <suggestion data="stack overflow"/>
    <num_queries int="25200000"/>
  </CompleteSuggestion>
  <CompleteSuggestion>
    <suggestion data="stackable washer dryer"/>
    <num_queries int="1050000"/>
  </CompleteSuggestion>
  <CompleteSuggestion>
    <suggestion data="stacked"/>
    <num_queries int="57000000"/>
  </CompleteSuggestion>
  …
</toplevel>

我想在我的网站上放置一个输入字段,并在输入时获得建议。我如何获取 XML 并将其像常规 HTML(文本)一样显示在我的网站上?

(我可以用 jQuery 做到这一点吗??)

最佳答案

要跨域检索 XML 数据,您可以使用 YQL检索数据并将它们转换为 JSONP。

要显示建议,您可以使用 jQuery UI 的 Autocomplete .

$("#term").autocomplete({
  minLength: 2,
  source: function(request, response) {
    $.ajax({
      url: 'http://query.yahooapis.com/v1/public/yql',
      dataType: 'JSONP',
      data: {
        format: 'json',
        q: 'select * from xml where url="http://google.com/complete/search?output=toolbar&q=' + encodeURIComponent(request.term) + '"'
      },
      success: function(data) {
        response($.map(data.query.results.toplevel.CompleteSuggestion, function(item) {
          return { label: item.suggestion.data, value: item.suggestion.data };
        }));
      }
    });
  }
});

HERE 是代码。

关于jquery - 谷歌 XML 建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8518404/

相关文章:

使用 UTF-8 进行输出时,Python ElementTree 不会转换不间断空格

javascript - jquery.mobile "tap"触发了 "focus"事件

javascript - 将变量发送到作用域

javascript - 单击时更改 div 样式不起作用

javascript - 悬停时高效的 JS 事件监听器

java - 单击图像时不出现对话框 fragment

javascript - 我的日期选择器工作得不太好

javascript - 将所有脚本保存在一个文件中是一种好习惯吗?

javascript - _gaq.push( ['_trackPageLoadTime' ]) 是如何工作的?

SQL OpenXML 多标签问题