ngAutoComplete与Google Suggest api

时间:2015-05-10 10:31:06

标签: javascript angularjs autocomplete google-api google-suggest

AngularJS的ngAutoComplete与Google合作完美无缺。

如何使用Google Suggest API(在Google搜索输入框中输入时建议的关键字)?是否有开箱即用的东西?

如果没有,实施它的最佳方法是什么? (如果我需要自己的API接口 - 我该如何建立连接?)

EDITED

Google Suggest API将返回XML以进行以下调用。如果我想返回JSON,则需要通过我的服务器端传递它以进行翻译。如果您建议,也可以选择

http://google.com/complete/search?output=toolbar&q=theory&gl=in

2 个答案:

答案 0 :(得分:4)

您可以将其添加到remote-url -

https://www.google.com/s?sclient=psy-ab&biw=1242&bih=395&q= ThisIsTheSearchString &oq=&gs_l=&pbx=1&bav=on.2,or.r_cp.&bvm=bv.93112503,d.cWc&fp=160df26a97fa030e&pf=p&sugexp=msedr&gs_rn=64&gs_ri=psy-ab&tok=_1hxlqgFnvRgVdHXR4t-nQ&cp=10&gs_id=51&xhr=t&es_nrs=true&tch=1&ech=37&psi=O5FTVZiMAfPisASwnYH4Cg.1431540027601.1

ThisIsTheSearchString 一个在按键击中发生变化的var。在将url放入ngAutoComplete之前,请确保对字符串进行编码 - escape(ThisIsTheSearchString);如果搜索中有任何空格,这将有所帮助。

我通过转到google并观看网络标签获取了该网址。它将返回您必须阅读的.txt文件。你还需要一个正则表达式来编译文件。

答案 1 :(得分:3)

更新版本(自定义指令ngGoogleSuggest)

click Plunker

指令执行得更好,因为在keyup执行了对{em> GoogleSuggest API的<{1}}调用

http

标记:

    elem.bind('keyup', scope.search);

注意:我计划在对 <div data-ng-google-suggest ng-model="Search"></div> 进行更多测试后为其创建一个GitHub回购

屏幕截图

enter image description here

致电Google Search API

  • 终点:ngGoogleSuggest
  • 对于JSON响应(不是XML),添加参数'http://suggestqueries.google.com/complete/search
  • Uri编码搜索参数
  • 使用 JSONP 协议,添加&client=firefox以避免 Access-Control-Allow-Origin错误

示例?callback=JSON_CALLBACK调用

$http