Понимание и реализация автозаполнения jQuery с исходным кодом и приложением AJAX

Ниже моя попытка получитьappendTo работать с автозаполнением jQuery с AJAX источником.

У меня есть несколько вопросов, которые, надеюсь, помогут многим другим, которые борются с пониманием правильного способа реализации автозаполнения с помощью источника AJAX.

1) source: function(request, response) {...} Что это делает? Зачем это нужно?

2) Какой форматfunction(data){ response($.map (data, function(obj) { вернуть данные в? Я понимаю, что данные в формате JSON, но какой смысл.map? Нужно ли это делать? Есть ли преимущества?

3а) При использованииappendTo а такжеrenderItem, необходимо ли иметь вышеупомянутоеsuccess данные вернулись?

3b) Либо, либо, в зависимости от приведенных выше данных, как правильно использовать appendTo и renderItem для изменения форматирования и отображения полученных значений?

$(function() {
$( ".find_group_ac" ).autocomplete({
        minLength: 1,
        source: function(request, response) {
            $.ajax({
                url: "welcome/search/",
                data: { term: $(".find_group_ac").val()},
                dataType: "json",
                type: "POST",
                success: function(data){ response($.map
                        (data, function(obj) {
                            return {
                            label: obj.name + ': ' + obj.description,
                            value: obj.name,
                            id: obj.name
                };}));}
            });
        }
    }).data( "autocomplete" )._renderItem = function( ul, item ) {
            return $( "<li></li>" )
                .data( "item.autocomplete", item )
                .append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
                .appendTo( ul );
        };
});

Это может показаться большим ответом, но я уверен, что это будет полезно для многих новичков в JavaScript и, конечно, для меня.

Ответы на вопрос(1)

Ваш ответ на вопрос