Использование select2: при использовании функции транспорта результаты не выбираются.

Я использую плагин select2, и мне нужно использовать транспортную функцию для выполнения запроса ajax самостоятельно, потому что мне нужно установить ключи API в заголовке запроса. Но как только я это сделаю, select2 правильно отвечает на результаты, а также форматирует и отображает их так, как я хочу, но показанные результаты не выбираются. Я не могу ни щелкнуть по ним, ни перейти к ним с помощью клавиш со стрелками, и нет никакого эффекта наведения мыши, когда я прохожу по ним мышью.

Вот некоторый код (я хочу показать предложения для имен пользователей):

ajax: {
    data: function (term, page) {
        return {
            Searchtext: term
        };
    },

    transport: function(queryParams){
        // Api.Ajax delivers { Ajax: *the $.ajax object*, RequestId: *some requestId* }
        var req = Api.Ajax("/api/suggestion/share/" + queryParams.data.Searchtext, "POST", { UserOnly: true }, queryParams.success);

        return req.Ajax;
    },

    // parse the results into the format expected by Select2.
    results: function(resp, page) {
        return {
            results:    resp.Data,
            more:       false
        };
    }
},

Как я уже сказал, как только я использую свою собственную Ajax-функцию, реализовав транспортную функцию, все результаты в раскрывающемся списке отображаются, но не могут быть выбраны.

Это баг, или я что-то не так делаю?


person thnew    schedule 27.06.2013    source источник
comment
Хорошо, связанные темы привели меня к решению. Над ajax должна быть установлена ​​id-функция. Посмотрите следующую тему, чтобы увидеть решение: stackoverflow.com/ вопросы/14819865/   -  person thnew    schedule 27.06.2013
comment
это и моя проблема тоже решена. см. эту ссылку: [stackoverflow][1] [1]: stackoverflow.com/questions/14193463/   -  person MHS    schedule 04.12.2013


Ответы (1)


@thnew Этот ответ покажет вам, как устанавливать заголовки запросов, не требуя функции транспорта.

person Noel Baron    schedule 01.03.2015
comment
Он пытается выполнить POST, поэтому ему нужно больше, чем заголовки. - person Tim; 09.07.2015