Laravel 5

Comment puis-je récuperer des données envoyer en ajax en GET en Laravel

  • Avatar de Michel
    Membre depuis :
    27/06/2019
    Messages :
    1

    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)

    })
    })

    Coté controller

    public function filter()
    {

    var_dump(\request()->all());

    }
  • Avatar de LaraSharp
    Membre depuis :
    03/01/2018
    Messages :
    18

    Bonjour, tu peux récupérer facilement les données envoyés du script vers le controlleur en faisant ainsi .

    Script

    function test()
    {
    let categories = ['test', 'toto'];
    $.ajax
    ({
    url: '/shop/filter',
    type: 'GET',
    dataType: "json",
    data: {
    categories : categories
    },
    dataType: 'json',
    success: function (data) {

    }});
    }

    Controlleur

    public function filter(Request $request)
    {
    dd($request->all());
    }

    Résultat

    array:1 [

    "categories" => array:2 [
    0 => "test"
    1 => "toto"
    ]
    ]

Vous ne pouvez pas répondre à ce sujet.