百度和淘宝并没有正式的提供一个公开API给我们用,但是经过分析他们的源代码,还是找到了解决方法。
/*baidu&taobao callback*/ function dachie(d) { if (d.s) return d.s else { return d.result.map(function(item) { return item[0] }); } };
以上是我分析了他们的数据结构做的一个callback函数。
首先是百度:
$.get("http://suggestion.baidu.com/su?wd=" + el.value + "&json=1&p=3&cb=dachie",function(data) { var list = eval(data);//eval必须 console.table(list); //这里根据自己的展示形式render list });
然后是淘宝:
$.get("http://suggest.taobao.com/sug?code=utf-8&q=" + el.value + "&callback=dachie","",function(data){ var list = eval(data);//eval必须 console.table(list); //这里根据自己的展示形式render list },"text");//关键点,指定dataType 为 text
以上代码,经过测试有效。
作者:达奇
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。