Recuperer les données envoyées en GET en Ajax en Laravel

Par Zenthos, il y a 6 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Je cherche mettre en place un système de filtre de produit par categorie
Mon code JS

let categories = [] items = document.querySelectorAll('input[name="categories[]"]') items.forEach(item => { item.addEventListener('change', function (e) { e.preventDefault() categories = [] let checkedItems = document.querySelectorAll('input[name="categories[]"]:checked') checkedItems.forEach(itemCheck => { categories.push(itemCheck.value); }) let xhr = new XMLHttpRequest() xhr.onreadystatechange = function() { if (xhr.readyState === 4) { if (xhr.status === 200) { console.log(categories) } } } xhr.open('GET', '/shop/filter', true); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.send(categories) }) })

Code HTML

<div class="checkbox-filter"> @foreach($categories as $category) <div class="input-checkbox"> <input type="checkbox" id="{{ $category->slug }}" value="{{ $category->id }}" name="categories[]"> <label for="{{ $category->slug }}"> <span></span> {{ $category->name }} </label> </div> @endforeach </div>

Dans Mon Controller

public function filter() { var_dump(\request()->all()); //$products = \Product::whereIn('category_id', $categories)->get(); //return view('products.index', compact('products')); }

Ce que je veux

Je veux recupérer dans un tableau les ID des checkbox qui sont checked au lieu de sa j'obtien NULL

2 réponses

Aashan, il y a 6 ans

Salut,

Je pense que retourner une vue n'est pas la bonne solution, un json peut être ?

Zenthos, il y a 6 ans

C'est un code commenter