Tôi đang cố gắng để Twitter Typeahead + Bloodhound hoạt động với CSE của Google.Sử dụng Typeahead bằng Công cụ Tìm kiếm Tuỳ chỉnh của Google
Cho đến giờ, tôi đã quản lý để có được kết quả trả lại, nhưng tôi không thể làm việc ra bộ dữ liệu.
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
}
});
Xem fiddle: http://jsfiddle.net/thugsb/3KAjh/
Bạn sẽ thấy rằng tôi đã có kết quả được trả lại từ showResults() như là một mảng. Tuy nhiên, cuộc gọi đến showResults() từ filter:
dường như không hoạt động, vì việc xóa bỏ dòng đó không có hiệu lực. Vì vậy, tôi không hoàn toàn chắc chắn những gì đang xảy ra.
Lưu ý duffCallback là những gì tôi đã làm việc để đọc từ this question. Nếu có một cách tốt hơn để thực hiện công việc này tôi là tất cả tai!