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

Android Discussion :

Erreur sur une HttpResponse


Sujet :

Android

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut Erreur sur une HttpResponse
    bonjour,

    J'envoie une requête POST à un fichier PHP, si toutes les conditions sont bonnes je fais un echo 'ok' que j'analyse après dans mon code Java.

    Cependant j'ai rajouté dans un 2ème temps dans mon fichier PHP , une requête Ajax. Donc maintenant dans ma réponse HTTP j'ai le ok + le code "<script> $ajax(.....)</script>" ce qui est embêtant.

    Comment supprimer tout ce qui m’intéresse pas dans la réponse ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Points : 559
    Points
    559
    Par défaut
    Bonjour,
    Tu peux mettre la réponse destinée à Androïd dans un fichier php à part, et inclure ce fichier dans le fichier php intégrant le code javascript, ce qui t'évite d'utiliser les regExpr pour nettoyer un peu "salement" la réponse reçue...

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut
    Je pense faire comme ceci , entouré ma réponse dans une balise ce qui donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <reponse> ma reponse android </reponse>
    J'ai remarqué que mon code javascript ne s’exécute par lors de la requête HTTP alors que si je l’exécute dans un navigateur classique cela marche. Une explication ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Points : 559
    Points
    559
    Par défaut
    Bonjour,
    Ce genre là alors, avec expressions régulières :
    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
    17
    18
    19
    20
    21
    public class Test {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
     
    		System.out.println(getReponse("<reponse>Réponse androïd </reponse>blabla<script type=\"text/javascript\">"));
     
    	}
     
    	public static String getReponse(String input) {
    		String result = input;
    		Pattern p = Pattern.compile(Pattern.quote("<reponse>") + "((\\s|.)*)" + Pattern.quote("</reponse>"), Pattern.CASE_INSENSITIVE);
    		Matcher m = p.matcher(input);
    		if (m.find()) {
    			result = m.group(1);
    		}
    		return result;
    	}
    }

  5. #5
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Citation Envoyé par anto2b Voir le message
    J'ai remarqué que mon code javascript ne s’exécute par lors de la requête HTTP alors que si je l’exécute dans un navigateur classique cela marche. Une explication ?
    Normal. Le navigateur est prévu pour interpréter le code javascript reçu dans la réponse http. Ta requête http depuis android renvoie une réponse (finalement une simple suite de caractères ASCII) dont l'exploitation reste entièrement à ta charge.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par Hephaistos007 Voir le message
    Normal. Le navigateur est prévu pour interpréter le code javascript reçu dans la réponse http. Ta requête http depuis android renvoie une réponse (finalement une simple suite de caractères ASCII) dont l'exploitation reste entièrement à ta charge.
    Merci de votre explication. Mais que dois-je mettre dans mon PHP pour qu'il interprète le javascript ?

  7. #7
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    PHP n’interprète pas du JavaScript, il écrit simplement (echo/print) du code JavaScript dans le flux de réponse qui sera interprété une fois arrivé sur le navigateur client. C'est pour cela qu'ont dit que PHP s’exécute sur le serveur alors que JavaScript s’exécute sur le client.

    Au mieux, si après avoir reçu ta réponse http sur le périphérique Android tu souhaites vraiment interpréter les instructions JavaScript qu'elle contient, il faut que tu passes son contenu à une android.webkit.WebView qui s'en chargera (c'est le composant de rendu qui au coeur d'une famille de navigateurs).
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  8. #8
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Points : 559
    Points
    559
    Par défaut
    Bonjour,
    Je ne crois pas qu'il puisse y avoir de bonnes raisons pour mettre du javascript (dont tu souhaites l'exécution) dans une page fournissant une réponse pour Androïd.

    Javascipt permet de définir une logique applicative côté client (réponse à des évènements), forcément absente puisque tu n'as pas d'interface pour ta réponse Http destinée à Androïd.

    Tu devrais pourvoir trouver une solution côté serveur (uniquement en PHP), pour éliminer javascript de ta réponse.

    Si tu nous dis ce que le javascript est sensé effectuer, on pourra peut-être t'aider en ce sens...

Discussions similaires

  1. Réponses: 8
    Dernier message: 23/01/2020, 09h34
  2. Erreur sur une boite de dialogue WXWIDGETS
    Par barbarello dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 06/01/2006, 20h46
  3. Réponses: 8
    Dernier message: 01/03/2005, 16h01
  4. Réponses: 4
    Dernier message: 14/06/2004, 16h18
  5. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00

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