以百度为例,API返回的是JSONP数据,JSONP是跨域访问的一种方式。由于服务器返回的JavaScript代码可以直接引用,通过回调函数的方式就可以间接的获取服务器的数据。
下面是一个回调搜索建议的例子,window.baidu.sug 返回的是一个json对象
window.onload = function() {
//组装查询地址
var sugurl = "http://suggestion.baidu.com/su?wd=#content#&cb=window.baidu.sug";
var content = "关键字";
sugurl = sugurl.replace("#content#", content);
//定义回调函数
window.baidu = {
sug: function(json) {
console.log(json)
}
}
//动态添加JS脚本
var script = document.createElement("script");
script.src = sugurl;
document.getElementsByTagName("head")[0].appendChild(script);
}
控制台打印的结果:如果要将结果保存在一个字符串数组中,只需要 var arr = json.s 即可。
Original: https://www.cnblogs.com/waw/p/15319178.html
Author: 狼人:-)
Title: 各大搜索引擎智能提示API(JSONP跨域实现自动补全搜索建议)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/547243/
转载文章受原作者版权保护。转载请注明原作者出处!