百度和淘宝并没有正式的提供一个公开API给我们用,但是经过分析他们的源代码,还是找到了解决方法。
1 2 3 4 5 6 7 8 9 | /*baidu&taobao callback*/ function dachie(d) { if (d.s) return d.s else { return d.result.map( function (item) { return item[0] }); } }; |
以上是我分析了他们的数据结构做的一个callback函数。
首先是百度:
1 2 3 4 5 | var list = eval(data); //eval必须 console.table(list); //这里根据自己的展示形式render list }); |
然后是淘宝:
1 2 3 4 5 | $.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 |
以上代码,经过测试有效。