Проблема с передачей идентификатора из Laravel api в скрипт Select2 - PullRequest
0 голосов
/ 20 ноября 2018

У меня странная проблема, потому что раньше в моем приложении этот код работал, а сейчас нет.Я беру данные из API Laravel через URL-адрес:

/api/customer/{id}/products

для выбора сценария

$('.js-data-example-ajax').select2({
    ajax: {
    url: '/api/customer/{id}/products',
    dataType: 'json',
    data: function (params) {
      var query = {
        q: params.term,
      }
    return query;
}

, но Laravel делает URL-адрес таким образом:

api/customer/%7Bid%7D/products

такУ меня% 7Bid% 7D вместо {id}, и я ищу решение в Google безуспешно.

1 Ответ

0 голосов
/ 20 ноября 2018

Символ "7B" является {конвертером в asci, перед тем как ajax-запрос создаст вызов var "url"

я называю маршрут с его именем, для присвоения ему имени просто присоедините

->name('your_name') in the route file

и после того, как в переменной url я использую имя маршрута вместо полного URL

url = '{{ route("your_route_name", ":id") }}';

, затем заменим местозаполнитель идентификатора идентификатором select

url = url.replace(':id', id);

наконец в ajaxзапрос

ajax: { 
    url: url, 

    //the rest of ajax request
}
...