Получить данные из плагина select2 в ajax - PullRequest
2 голосов
/ 15 октября 2019

У меня есть несколько полей выбора с множественным выбором, реализовано с последним плагином select2. Я хочу отправить выбранные данные с помощью ajax на контроллер Laravel. как я могу это сделать? В разделе предварительного просмотра вкладки сети браузера отображается «Нет свойств».

Я записал эти коды в кнопку отправки для отправки выбранных сервисов из поля select2.

$('#submit-service').click(function(e){
  e.preventDefault();
  var values = $('.service-select').select2().val();
    $.ajax({
        type:'POST',
        url: '/process_services',
        data: values,
        success: function(data) {
          console.log(data);
        }
    })
});

Laravel Controller,

class ServiceController extends Controller
 {
     public function storeServices(Request $request)
     {   
          $services = $request->all();
          return $services;
     }
 }

Маршрут,

Route::post('/process_services', 'ServiceController@storeServices');

Ответы [ 2 ]

1 голос
/ 15 октября 2019

Вы должны изменить свой AJAX-код.

$('#submit-service').click(function(e){
    e.preventDefault();
    $(".service-select").select2({
        ajax: {
            type:'POST',
            url: '/process_services',
            dataType: 'json',
            delay: 250,
            data: function (params) {
                return {
                   values: params.term // search term
                };
            },
            processResults: function (response) {
                console.log(response);
                return {
                    results: response
                };
            },
           cache: true
        }
    });
});

Получить введенные значения, используя params.term в данных. Дескриптор успешного обратного вызова с помощью функции processResults, которая инициализирует результаты с ответом.

0 голосов
/ 15 октября 2019
$("#submit-service").select2({
  e.preventDefault();
  var values = $('.service-select').select2().val();
   $.ajax({
        type:'GET',
        url: '/process_services',
        data: values,
        success: function(data) {
          console.log(data);
        }
    })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...