Laravel 5

Remplir un input après avoir sélectionné un mot dans une liste (Laravel + JQuery)

  • Avatar de laguernette
    Membre depuis :
    26/04/2019
    Messages :
    3

    Bonjour,

    J'ai une vue blade sur laquelle j'ai une liste déroulante. Lorsque je sélectionne un mot dedans, j'aimerais qu'un autre mot apparaisse dans l'input qui se trouve juste à côté.
    J'ai créé une ressource dans mon fichier routes/web.php :

    Route::resource('getWriter','WriterController');

    Dans ma vue blade, j'ai :

    {!! Form::label('logins', 'Identifiant :', ['class' => 'control-label'] ) !!}
    {!! Form::select('logins',$logins,0, ['class' => 'form-control', 'data-href' => url('getWriter') ]) !!}

    {!! Form::label('lastname', 'Nom :', ['class' => 'control-label']) !!}
    {!! Form::text('lastname', $value = null, ['class' => 'form-control']) !!}

    Ensuite dans mon controller WriterController, j'ai ajouté ce code (ici c'est statique c'est pour les tests), c'est la donnée que je veux insérer dans mon input

    public function store(Request $request){
    return response()->json(['name' => 'Abigail']);
    }

    Et enfin, dans mon script.js, j'ai ce code :

    $(document).on('change', '#logins', function() {
    $.ajax({
    method: 'POST',
    url: $(this).data('href'),
    data: $(this).serialize(),
    dataType: "json"
    })
    .done(function(data) {
    alert('success');
    })
    .fail(function(data) {
    alert('failed :');
    });
    });

    Je récupère tout le temps le message "failed", je comprends pas pourquoi. Savez-vous ce qui peut poser problème ?

    Merci d'avance

  • Avatar de nash
    Membre depuis :
    16/04/2019
    Messages :
    14

    salut
    il faut que tu passe dans l'entete ajax et le form serialize le csrf_token

  • Avatar de laguernette
    Membre depuis :
    26/04/2019
    Messages :
    3

    Je suis désolée, je ne comprends pas votre phrase.

    Edit : Je viens de comprendre et ça marche. Merci beaucoup

Vous ne pouvez pas répondre à ce sujet.