IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Impossible de retourner un Response lors d'un appel AJAX [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 48
    Points
    48
    Par défaut Impossible de retourner un Response lors d'un appel AJAX
    EDIT : Problème résolu entre temps, une faute de frappe était dans du code propre à l'environnement de débugage.


    Bonjour à tous,

    Je rencontre actuellement un problème lorsque je veux retourner une réponse lors des appels AJAX.

    Le scénario est tout simple, du code JS qui via une requête AJAX exécute une méthode d'un controller, le controller retourne du JSON.


    code js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $.ajax ({
    		url: Routing.generate('.....') ,
    		type: 'POST',
    		data: 'starred='+isStarred, 
    		error: function(data) {  
    			alert('Un problème est survenu lors de l\'éxécution.');
    			..... 
    		},				
    		success: function(data, textStatus, xhr) {
    			alert(data);
    			var res = jQuery.parseJSON(data);
    			console.log(xhr.status);
    			console.log(res);
    			.....
    		}	
    	});
    Ca, ça fonctionne très bien, mon code PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public function monAction()    {
          return new Response(json_encode(array('message' => 'ERROR', 'code' => 404)));
    }
    Dans mon environnement de DEV avec le paramètre débug à true, on passe bien dans le callback success et j'ai bien un alert avec le JSON encodé.

    Maintenant, si je passe le paramètre débug à false dans mon app_dev.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $kernel = new AppKernel('dev', false); //<============== false
    On passe toujours dans le callback success sauf que data est égal à null. Le alert(data) affiche un alert vide et je n'ai pas touché au reste du code.

    Je rencontre le même problème, si je fais exit("data") ou die("data"), si le paramètre de débug est à true, le message s'affiche dans le callback success, si le paramètre est à false, j'ai un alert vide.


    Si quelqu'un a une explication à ce problème, il me rendrait un grand service.

    PS : j'ai déjà vidé le cache

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 18
    Points : 39
    Points
    39
    Par défaut
    Si tu travaille avec firefox(firebug) ou chrome tu peux analysé le retours de la requete ajax. Avec chrome c'est dans l'onglet Network.

    Essaye de voir dans le contenue de la réponse de ce coté.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] FancyBox : Conflit lors d'un appel Ajax
    Par mwa33 dans le forum AJAX
    Réponses: 0
    Dernier message: 06/08/2013, 14h01
  2. Réponses: 2
    Dernier message: 29/02/2012, 16h37
  3. Réponses: 5
    Dernier message: 14/03/2011, 14h04
  4. Afficher une message d'attente lors d'un appel ajax
    Par Nulenprogra dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 06/11/2007, 22h15
  5. Retourner l'ID lors de l'enregistrement
    Par nmerydem dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/09/2004, 10h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo