Передать параметр маршрута из переменной jquery в представлении лезвия

Как добавить переменную jquery delete_id = $(this).attr('delete_id'); в 'product_id' => ???? ajax url

У меня такой маршрут: Route::delete('/{store}/{table_name}_{table_id}/{receipt_id}/shop/cart/{product_id}', 'Cart\CartController@destroy')->name('cart.destroy');

и этот ajax:

 $(document).on('submit','#cartItem_delete',function(e){
        delete_id = $(this).attr('delete_id');
         var form_data = $(this).serialize(); //prepare form data for Ajax post
        $.ajax({
          type: "DELETE",
          url: '{{ route('cart.destroy', ['product_id' => ????, 'store' => $store, 'table_name' => $table_name, 'table_id' => $table_id, 'receipt_id' => $receipt_id]) }}',
          dataType:"json", //expect json value from server
          data: form_data
        }).done(function(data){ //on Ajax success    
                $('tr[row='+delete_id+']').remove();
                $('.cart-button a span').text(data.count);
                if (data.count < 1) {
                    $('.container #cartContainer').remove();
                    location.reload();
                }
        });
        e.preventDefault();
    });

HTML-форма находится в операторе foreach (для каждой строки в корзине), а идентификатор строки находится в атрибуте delete_id:

<form id = "cartItem_delete" delete_id = "{{ $item->rowId }}" class = "side-by-side">
                                {!! csrf_field() !!}
                                <input type = "hidden" name = "_method" value = "DELETE">
                                <button type = "submit" class = "btn btn-danger btn-sm" value = "Remove">Remove</button>
                            </form>
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
2 578
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

У вас есть 2 варианта

  1. передайте значение как параметр ajax, а затем вам нужно будет изменить маршрут и контроллер
  2. вы создаете URL-адрес и добавляете идентификатор через javascript

url: "{{url('/')}}/{{$store}}/{{$table_name}}/{{$receipt_id}}/shop/cart/"+delete_id

Ответ принят как подходящий

Вы можете добавить атрибут действия в форму с URL-адресом:

<form action = "{{ route('cart.destroy', ['product_id' => $item->rowId, 'store' => $store, 'table_name' => $table_name, 'table_id' => $table_id, 'receipt_id' => $receipt_id]) }}"...

затем получите URL-адрес в событии отправки:

var action_url = $( this ).attr('action')

и передайте его ajax:

$.ajax({
    url: action_url

Другие вопросы по теме