Ich versuche, Twitter Typeahead + Bloodhound mit Google CSE arbeiten zu lassen.Verwenden von Typeahead mit Google Custom Search Engine
Bisher habe ich es geschafft, die Ergebnisse zurück zu bekommen, aber ich bin nicht in der Lage, den DatumTokenizer auszuarbeiten.
var results = new Bloodhound({
datumTokenizer: function(data) {
return Bloodhound.tokenizers.whitespace(d.value)
},
queryTokenizer: Bloodhound.tokenizers.obj.whitespace,
remote: {
url: "http://clients1.google.com/complete/search?client=partner&hl=en&sugexp=gsnos%2Cn%3D13&gs_rn=25&gs_ri=partner&partnerid=004914516364918182382%3Ayfqw09r4qvu&types=t&ds=cse&cp=3&gs_id=15&q=%QUERY&callback=showResults&duffCallback=?",
ajax: $.ajax({type:'GET',dataType:'jsonp',jsonp:'duffCallback'}),
filter: showResults
}
});
Siehe Geige: http://jsfiddle.net/thugsb/3KAjh/
Sie werden sehen, dass ich die Ergebnisse von showresults zurückgegeben haben wird() als Array. Der Aufruf von showResults() aus filter:
scheint jedoch nichts zu tun, da das Entfernen dieser Zeile keine Auswirkungen hat. Ich bin mir also nicht sicher, was passiert.
Beachten Sie die duffCallback ist, was ich aus dem Lesen von this question gemacht habe. Wenn es einen besseren Weg gibt, diese Arbeit zu machen, bin ich ganz Ohr!