2016-11-04 1 views
2

Je travaille sur une application symfony, et je suis en train de supprimer un souvenir de moi cookies, en utilisant le code suivant:Symfony: l'envoi d'un jsonResponse

$response->headers->clearCookie($cookieName,'/');

Je dois appeler la méthode response->send() pour cette pour prendre effet, cela fonctionne parfaitement avec une réponse simple, mais lorsque je tente de l'utiliser avec un jsonResponse, la fonction send() renvoie cette erreur:

JSON.parse: unexpected non-whitespace character after JSON data

il n'y a rien de mal avec mes données JSON, même si je précise aucune donnée, il semble que la fonction d'envoi est tout simplement pas travailler avec un jsonResponse

Voici mon code pour le jsonResponse:

$array = array('message'=>'your account is disabled','success'=>false); 
$response = new JsonResponse($array); 
$response->send(); //this triggers the error 

Votre aide sera appréciée!

+0

Il ne sera probablement pas changer quoi que ce soit, mais vous devez revenir 'response' de $ en action au lieu d'appeler la méthode' send() 'directement. –

+0

Etes-vous sûr que c'est une erreur liée à PHP? J'ai vu cette erreur sur le côté Javascript. – felipsmartins

+0

Jakub si je renvoie la réponse, il ne supprime pas le cookie, donc je dois utiliser la méthode d'envoi qui génère cette erreur, et en ajoutant la réponse de retour changer une chose, – ZeSoft

Répondre

1

votre peut utiliser ce code dans le contrôleur

$array = array('message'=>'your account is disabled','success'=>false); 
return new JsonResponse($array); 

Send, in controller is not valid and you can use return in controller.

+0

si je utiliser le retour sans la fonction envoyer le deleteCookie ne fonctionne pas – ZeSoft

+0

en fait cela fonctionne dans les contrôleurs mais pas dans le gestionnaire d'authentification et surtout avec le cookie remember_me – ZeSoft