You want to display contact not cinfo because cinfo is the name of the table
$('.user').typeahead({ source: '/ticket/getUser', display:'contact', id: 'id' });
UPDATE:
It looks like you want to use the 'property' option:
$('.user').typeahead({ source: '/ticket/getUser', property:'contact' });
UPDATE2:
I think you need to process the returned data first. Try the following:
$('.user').typeahead({ source: function (typeahead, query) { return $.post('/ticket/getUser', { query: query }, function (data) { return typeahead.process(data); }); }, property:'contact' });
source share