ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

百度搜索关键词联想API JSONP使用实例

2020-01-29 17:04:31  阅读:546  来源: 互联网

标签:sug baidu 冠状病毒 实例 window json API JSONP sugArray


许多搜索引擎都提供了关键词联想api,且大多数都是jsonp. Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据。使用jsonp就不用担心浏览器因同源策略而禁止跨域这种情况的发生了。

以百度为例,

 1 window.baidu = {
 2     sug: function(json) {
 3         vm.sugArray=json.s
 4     }
 5 }
 6 function baiduSug(str){
 7     if(str){
 8         let sug=document.createElement('script')
 9         sug.src=`http://suggestion.baidu.com/su?wd=${str}&cb=window.baidu.sug`
10         document.getElementsByTagName('body')[0].appendChild(sug)
11     }
12     else vm.sugArray=[]
13 }

百度的api实现方式为动态添加

<script src="http://suggestion.baidu.com/su?wd=冠状病毒&cb=window.baidu.sug">

返回的内容为一个回调函数

window.baidu.sug({q:"冠状病毒",p:false,s:["冠状病毒感染性肺炎","冠状病毒的症状","冠状病毒肺炎","冠状病毒是什么","冠状病毒在空气中可以存活多久","干咳是不是新型冠状病毒","冠状病毒性肺炎","冠状病毒肺炎最新情况","冠状病毒感染","冠状病毒肺炎的起因是什么"]});

回调函数的参数是一个json格式的数据,其中s数组即为联想词数组,我们只需要将回调函数定义出来即可实现想要的效果,例如

1 window.baidu = {
2     sug: function(json) {
3          vm.sugArray=json.s
4     }
5 }

每当动态添加上述<script>便可将联想结果赋给vm.sugArray

   

标签:sug,baidu,冠状病毒,实例,window,json,API,JSONP,sugArray
来源: https://www.cnblogs.com/Minstrel223/p/12240737.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有