select2 отправляет нулевые параметры в контроллер - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь использовать select2 multiselect с вызовом ajax для извлечения данных и фильтрации на основе пользовательского ввода, но когда он попадает в контроллер, параметры равны нулю.К сожалению (я думаю, потому что это custom select2 api) Я не могу поставить точку останова chrome в вызове ajax, чтобы возиться с ней, но URL-адрес выглядит хорошо на вкладке сети.Прямо сейчас вызовы ajax написаны немного по-другому, потому что я пробовал разные решения;ни одна из них не работает.

Я также попробовал этот пост, который, по его словам, работал, но для меня это не игра в кости: jquery-select2 всегда отправляет нулевые параметры в контроллере

$(".filter-agencies").select2({
            //data: agencies,
            ajax: {
                cache: false,
                datatype: 'JSON',
                type: 'GET',
                url: 'Home/GetFilterAgency',
                data: function (params) {
                    return {q:params}
                },
                processResults: function (data) {
                    return {
                        results: data
                    }
                }
            },
            placeholder: 'Agencies',
            width: '150',
            multiple: true,
            closeOnSelect: false,
            minimumInputLength: 4
            ////tags: true
        });

         $(".filter-advertisers").select2({
            //data: filterSelect,
            ajax: {
                url: 'Home/GetFilterAdvertiser',
                data: function (params) {
                    var query = {
                        search: params.term
                    }
                    return query
                },
                processResults: function (data) {
                    //advertisers = $.map(data, function (obj) {
                    //    obj = { id: i, text: obj }

                    //    i = i + 1;
                    //    return obj
                    //})
                    return {
                        results: data
                    }
                }
            },
            placeholder: 'Advertisers',
            closeOnSelect: false,
            minimumInputLength: 4,
            allowClear: true,
            width: '150',
            multiple: true
        });



        [HttpGet]
        public string GetFilterAdvertiser(string query)
        {
            var x = _orderedLinesProcessor.GetFilterAdvertiser();
            var i = 0;
            var dict = new Dictionary<int, string>();
            foreach (var el in x)
            {
                dict.Add(i, el);
                i += 1;
            }

            return JsonConvert.SerializeObject(dict);
        }

1 Ответ

0 голосов
/ 25 сентября 2019

Изменить запрос для поиска в контроллере:

public string GetFilterAdvertiser(string search)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...