Typehead.js不发送ajax请求

问题描述:

我想用typeahead.js和json文件。但是,当我键入到键入输入时,不发送ajax请求。Typehead.js不发送ajax请求

的javascript:

var users = new Bloodhound({ 
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'), 
    queryTokenizer: Bloodhound.tokenizers.whitespace, 
    limit: 10, 
    prefetch: { 
    url: '/users.json', 
    filter: function(list) { 
     return $.map(list, function(user) { return { name: user }; }); 
    } 
    } 
}); 

users.initialize(); 

$('#prefetch .typeahead').typeahead(null, { 
    name: 'users', 
    displayKey: 'name', 
    // `ttAdapter` wraps the suggestion engine in an adapter that 
    // is compatible with the typeahead jQuery plugin 
    source: users.ttAdapter() 
}); 

轨控制器:

def index 
    @users = User.all 
    @search = User.select :name 
    render json: @search 
end 
+0

我认为你应该用“远程”替换“预取”! – p0k3 2014-09-25 11:39:14

+0

就是这样。非常感谢你 – clement 2014-09-25 18:02:04

下面是使用权代码: 在你的JavaScript

var users = new Bloodhound({ 
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'), 
    queryTokenizer: Bloodhound.tokenizers.whitespace, 
    limit: 10, 
    remote: { 
    url: '/users.json', 
    filter: function(list) { 
     return $.map(list, function(user) { return { name: user }; }); 
    } 
    } 
});