我正在使用Twitter typeahead构建一个自动完成功能,使用ajax JSON调用我的PHP文件来获取一些数据,但它一直在下拉结果列表中显示以下内容:
未定义
未定义
未定义
但当我执行以下操作时:
alert(data);
我成功显示了正确的数据,但是自动补全列表仍然显示为undefined。我已经阅读并尝试过StackOverflow上的多篇文章,但似乎无法让它正常工作。
以下是我的jquery代码:
$('.item-name .typeahead').typeahead(null,{
source: function (query, process) {
$.ajax({
url: 'ajaxItems.php',
type: 'POST',
dataType: 'JSON',
data: 'query=' + query,
success: function(data) {
// alert(data);
process(data);
}
});
}
});
我的ajaxItems.php文件用于测试,代码如下:
<?PHP
$results = array();
$results[] = 'jeans';
$results[] = 'sweater';
$json = json_encode($results);
print_r($json);
?>
JSON输出如下:
["jeans","sweater"]
我希望有人能为我指点迷津或指引方向。编辑:我正在使用以下typeahead文件:http://twitter.github.io/typeahead.js/releases/latest/typeahead.bundle.js。