У меня есть этот код laravel в моей функции отключения контроллера.Laravel 5 с Ajax?
$input = Input::all();
$product= Products::findOrFail($input['product_id']);
$product->tags()->detach($input['tag_id']);
$product= Products::where('customer_id', Auth::user()->customers_id)->get();
return view('products.tagsdelete', [
'products' => $product,
]);
Это прекрасно работает, оно удаляет реализацию тэга из моей сводной таблицы. Единственное, что меня беспокоит, что я не хочу перезагружать страницу каждый раз, когда нажимаю кнопку удаления на моем представлении.
(Конечно, я мог бы сделать выбор всех тегов пользователь хочет удалить, но я хочу, чтобы это жить с Ajax)
Моя проблема в том, что я не мог найти ничего, что помогает мне с отрядом от laravel + Ajax. Я вполне в порядке с Javascript и JQuery, но Ajax все еще для меня нова.
Так может кто-нибудь мне помочь? Я действительно застрял.
Спасибо, что нашли время :)
@Wiriya Rungruang
текущий код контроллера:
public function detach()
{
$input = Input::all();
$product= Products::findOrFail($input['product_id']);
$product->tags()->detach($input['tag_id']);
$product= Products::where('customer_id', Auth::user()->customers_id)->get();
}
моя кнопка:
<button type="submit" class="delete-tag-btn" data-product_id="{{ $product->id }}" data-tag_id="{{ $tag->id }}"><i class="glyphicon glyphicon-trash"></i></button>
в нижней части коде JS:
<script>
$(".delete-tag-btn").on('click', function(){
var url = "{{ route('detach') }}"; // Url to deleteTag function
url += "product_id=" + $(this).data('product_id');
url += "&tag_id=" + $(this).data('tag_id');
// Now url should look like this 'http://localhost/deletetag?product_id=2&tag_id=5
// Send get request with url to your server
$.get(url, function(response){
alert("success");
});
});
</script>
Я попробую, дайте мне несколько минут :) – WellNo
У меня есть небольшая проблема с вашим вторым шагом. Я не делал что-то вроде события click, которое отправляет данные моему контроллеру, и что-то вроде rerender/remove with JS - это что-то новое для меня. – WellNo
вы удаляете кнопку, которая должна выглядеть так: '