Bonjour,
Voila je rencontre un petit problème avec mon code.
j'ai essayer a faire une modification sur mes données de ma BD sans passer par un formulaire juste avec un bouton, mais toujours il me rédige vers la page d'accueil merci de me répondre.
ben faut que tu dise a ton bouton de t'emener la ou tu le souhaite. utilise plutot un < a href="" > plutot qu'un < input type="submit" > comme ca tu pourras lui dire de t'emmener la ou tu le souhaite sans passer par un formulaire. sinon tu peux regarder pour faire un
< input type="button" onclick="document.location='http://www.monsite.tld/mapage.php'" >
voila qui ce que j'ai fait
<a class="btn btn-primary" href="{{ action('GuardsController@update',$guard) }}">valider</a>
voila ma fonction update
public function update($guard, \Illuminate\Contracts\Auth\Guard $auth)
{
$user=$auth->user()->id;
$data=Guard::findOrFail($guard->id);
$statut=\DB::table('users_guards')->where('user_id','=',$user)->pluck('annonceur');
if($statut==true){
$data1['statut_annonceur']=1;
$data->update($data1);
}elseif($statut==false) {
$data1['statut_repondeur']=1;
$data->update($data1);
}
return redirect(action('GuardsController@index'))->with('success', 'ta confirmation est bien passé');
}
Salut,
Le souci est que, visiblement, tu essayes de faire passer un objet en URL query, or tu ne peux pas il faut soit encoder le paramètre dont tu as besoin (via urlencode() par ex.), soit passer par l'AJAX comme le suggère @MaMouT.
c'est normal que tu sois redirigé vers l'accueil
return redirect(action('GuardsController@index'))
Vais un redirect vers ou tu veux etre redirigé ou alors tu peux aussi faire un render('vue')
Comme dis avant tu peux faire aussi en ajax
ben en js (avec jQuery) ca va donner qqch comme ca
$.get( "ajax.php", function( data ) {
alert( data );
});
t'as des methodes $.get, post, put, delete pour changer la facon d'envoyer tes données. ( http://api.jquery.com/category/ajax/ )
ensuite coté ajax.php
$ar = array(
'status' => 1,
'message' => "ok",
);
echo json_encode($ar);
du coup, dans ton retour javascript, data va etre un tableau.
console.log(data['status']); // 1
console.log(data['message']); // ok
EDIT ::
Tu peux bien evidement envoyer des paramètres en GET et les récupérer avec un $_GET en php.
ex :
appeler ajax.php?customer_id=3&device_id=13 en javascript
et récupérer
$ar = array(
'customer_id' => $_GET['customer_id'],
'device_id' => $_GET['device_id']
);
pour retourner une valeur json avec laravel :
return response()->json(['key' => 'value']);
j'ai pas bien compris ce exemple d'ajax sorry par exemple je veux passer en parametre l'objet qu'a été stocker dans un variable , comment je peux recuperer ça
$.ajax({
url:url_du_post,
type: "post",
data: donnees.serialize(),
success: function(data){
alert(data.object.valeur); => ça dépend du retour cf @SquallX
},
error: function(xhr, status, error) {
alert('erreur');
}
});