PHP,返回一个 JSON 编码的数组
$this->load->model('car_model', 'cars');
$result = $this->cars->searchBrand($this->input->post('query'));
$this->output->set_status_header(200);
$this->output->set_header('Content-type: application/json');
$output = array();
foreach($result as $r)
$output['options'][$r->brandID] = $r->brandName;
print json_encode($output);
输出:{"options":{"9":"Audi","10":"Austin","11":"Austin Healey"}}
JS更新:
$(".searchcarBrands").typeahead({
source: function(query, typeahead) {
$.ajax({
url: site_url + '/cars/search_brand/'+query,
success: function(data) {
typeahead.process(data);
},
dataType: "json"
});
},
onselect: function(item) {
$("#someID").val(item.id);
}
});
更新:未捕获的类型错误:对象函数 (){return a.apply(c,e.concat(k.call(arguments)))} 没有方法“进程”
如果我只输入“A”,那么 typeahead 只会显示每个结果的第一个字母(一堆 A 字母)。如果我输入第二个字母,我就什么也看不见了。
我已经尝试JSON.parse
过数据或使用 data.options 但没有运气。
我究竟做错了什么?