Слишком длинная строка запроса в URL - PullRequest
0 голосов
/ 09 января 2019

У меня есть мульти-выбор, используемый в качестве фильтра. Я создаю массив int для передачи всех выбранных элементов в контроллер через ajax.

var selectedItems = [];
$.each($("#myDropDown option:selected"), function () {
    selectedItems.push($(this).val());
});

В этом множественном выборе может быть много элементов (более 500). Например, если пользователь выбирает 499 элементов, результирующая строка запроса слишком длинна для сервера IIS.

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

Сегодня я установлю его для примера на 30000, завтра мультивыбор содержит 1000 элементов, и что, я изменю на 60000?

Есть ли другой способ передать выбранные предметы? (Я не знаю, переменная или что-то еще).

Спасибо

EDIT:

$.ajax({
    url: '/Defaults/GetFilteredDefaults',
    data: {
        vehiculesFilter: selectedVehicules,
        sectorsFilter: selectedSectors,
        imputationsFilter:selectedImputations,
        missionsFilter:selectedMissions,
        piecesFilter:selectedPieces,               
        localizationsFilter:selectedLocalizations
    },
    traditional: true,
    success: function (result) {
        createDefaultList(result);
    }
});

1 Ответ

0 голосов
/ 09 января 2019

Хорошо, просто добавьте type:post в ajax и измените метод контроллера на [HttpPost]. Спасибо за ваше предложение.

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