Как добавить переменную 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>






У вас есть 2 варианта
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