百度和淘寶並沒有正式的提供一個公開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
以上代碼,經過測試有效。
