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

JavaScript Discussion :

Egalite entre 2 string


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut Egalite entre 2 string
    Bonjour,

    J'ai un petit soucis de comparaison entre deux chaines de caractères.

    J'ai deux tableaux de chaines de caractères et je souhaite savoir si chaque chaine du premier est contenu dans le second.
    Le problème est assez basique, je vous l'accorde, mais, je ne sais pas pourquoi, le premier test d'égalité qui renvoie "vrai" (donc qu'il est bien contenu) me renvoie systématiquement "false", quelque soit le nombre, la position. Toutes les autres comparaisons fonctionnent bien, c'est uniquement la première occurrence qui pose problème.

    Voici mes deux fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Array.prototype.in_array = function(p_val) {
      var l = this.length;
      for(var i = 0; i < l;i++) {
        if(this[i]==p_val) {
          return true;
        }
      }
    return false;
    }
    Et ma boucle de test (tLigne est mon tableau contenant les valeurs à tester et eCheck est mon tableau contenant toutes mes checkbox) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for(var i = 0; i < eCheck.length; i++)
      if(tLigne.in_array(eCheck[i].value))
        eCheck[i].checked=true;
      else
        eCheck[i].checked=false;
    Ce code fonctionne bien, sauf pour le premier résultat à true où il me renvoie false.


    Bonne journée

  2. #2
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    Bonjour,

    J'ai testé ton code, et il fonctionne très bien.
    Code html : 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <html>
    <head>
        <script type="text/javascript">
        Array.prototype.in_array = function(p_val) {
            var l = this.length;
            for(var i = 0; i < l;i++) {
                if(this[i]==p_val) {
                    return true;
                }
            }
            return false;
        }
        function winLoad() {
            var tLigne = ['d','c','b','a'];
            var eCheck = document.getElementsByTagName('input');
            for(var i = 0; i < eCheck.length; i++)
                if(tLigne.in_array(eCheck[i].value))
                    eCheck[i].checked=true;
                else
                    eCheck[i].checked=false;
        }
        </script>
    </head>
    <body onload="winLoad();">
            <label for="cbx0">cbx0</label><input type="checkbox" name="cbx0" id="cbx0" value="a" />
            <label for="cbx1">cbx1</label><input type="checkbox" name="cbx1" id="cbx1" value="b" />
            <label for="cbx2">cbx2</label><input type="checkbox" name="cbx2" id="cbx2" value="c" />
            <label for="cbx3">cbx3</label><input type="checkbox" name="cbx3" id="cbx3" value="d" />
    </body>
    </html>
    Tu pourrais peut-être nous fournir tes données ? ce sont surement elle qui sont en cause...
    D'ailleurs comment veux-tu qu'on te dise ce qui ne va pas lors d'une comparaison sans savoir ce que tu compare ?

  3. #3
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut
    Re,

    Alors, voici mon tableau qui me permet de lister les informations :
    Code html : 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <table>
    <tr>
    <th>Nom des droits</th><th></th>
    </tr>
    <tr>
    <td>Fiche utilisateur</td><td><input type="checkbox" name="checkPermissions[]" value="fiche_user"
     /></td>
    </tr>
    <tr>
    <td>Interface d'administration</td><td><input type="checkbox" name="checkPermissions[]" value="interface_admin"
     /></td>
    </tr>
    <tr>
     
    <td>Param&egrave;tres g&eacute;n&eacute;raux</td><td><input type="checkbox" name="checkPermissions[]" value="param_generaux"
     /></td>
    </tr>
    <tr>
    <td>Gestion des contenus</td><td><input type="checkbox" name="checkPermissions[]" value="gestion_contenu"
     checked="checked" /></td>
    </tr>
    <tr>
    <td>Gestion des articles</td><td><input type="checkbox" name="checkPermissions[]" value="gestion_articles"
     /></td>
    </tr>
    <tr>
    <td>Gestion des diaporamas</td><td><input type="checkbox" name="checkPermissions[]" value="gestion_diapos"
     /></td>
     
    </tr>
    <tr>
    <td>Gestion de vos menus</td><td><input type="checkbox" name="checkPermissions[]" value="gestion_menus"
     checked="checked" /></td>
    </tr>
    <tr>
    <td>Gestion des commentaires</td><td><input type="checkbox" name="checkPermissions[]" value="gestion_livreor"
     /></td>
    </tr>
    </table>

    Toutes les "value" des checkbox correspondent à un autre tableau "brut" en php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	$tPouvoir['fiche_user']['Groupes']='Administration';
    	$tPouvoir['interface_admin']['Groupes']='Administration';
    	$tPouvoir['param_generaux']['Groupes']='Administration';
    	$tPouvoir['gestion_contenu']['Groupes']='Test/Administration';
    	$tPouvoir['gestion_articles']['Groupes']='Administration';
    	$tPouvoir['gestion_diapos']['Groupes']='Administration';
    	$tPouvoir['gestion_menus']['Groupes']='Test/Administration';
    	$tPouvoir['gestion_livreor']['Groupes']='Administration';
    Ce tableau brut me sert à générer mon tableau (et donc les value sont "identiques", puisque c'est la même source).
    En amont, j'ai un select et sur le onchange, je demande à mon php le tableau des permissions du groupe sélectionner dans ce select(par exemple, si je selectionne le groupe Test, il me renvoie un tableau contenant gestion_contenu et gestion_menus ; ces deux parametres sont dans le tableau tLigne évoqué dans mon premier post).

  4. #4
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    Merci pour ces détails, je comprends mieux ce que tu veux faire.
    Par contre, il serait plus intéressant d'avoir le code source(html et javascript) de la page sur laquelle tu obtiens ce comportement :
    Citation Envoyé par Paniez Voir le message
    Ce code fonctionne bien, sauf pour le premier résultat à true où il me renvoie false.
    D'ailleurs, je ne suis pas sur de comprendre ce que veux dire 'le premier résultat à true'...

  5. #5
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut
    Citation Envoyé par nadox Voir le message
    Par contre, il serait plus intéressant d'avoir le code source(html et javascript) de la page sur laquelle tu obtiens ce comportement :

    D'ailleurs, je ne suis pas sur de comprendre ce que veux dire 'le premier résultat à true'...
    Effectivement, ça pourrait etre mieux (pour le javascript, c'est un fichier à part) :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <p>
    <center>
    S&eacute;lectionner un compte&nbsp;:&nbsp;<select id="select_compte" name="select_compte" title="S&eacute;lectionner un compte" tabindex="1" onchange="requeteAjaxCompte('./Ajax/droits_compte.php','ID=:ID&amp;action=liste&amp;lang=fr&amp;dirPoint=../&amp;fic=Parametres/pouvoirs.php','liste');">
    <optgroup id="Groupes" label="Mes groupes">
     
    <option value="Test">Test</option>
    <option value="utilisateur">Utilisateur</option>
    <option value="Administration">Administration</option>
    </optgroup>
    <optgroup id="Users" label="Mes utilisateurs">
    <option value="root">root</option>
    <option value="toto">Oto</option>
    <option value="titi">Iti</option>
    </optgroup>
    </select>
    </center>
     
    </p><br/>
    <p>
    <center>
    <table>
    <tr>
    <th>NOM_DROITS</th><th></th>
    </tr>
    <tr>
    <td>Fiche utilisateur</td><td><input type="checkbox" name="checkPermissions[]" value="fiche_user"
     /></td>
    </tr>
    <tr>
    <td>Interface d'administration</td><td><input type="checkbox" name="checkPermissions[]" value="interface_admin"
     /></td>
    </tr>
    <tr>
     
    <td>Param&egrave;tres g&eacute;n&eacute;raux</td><td><input type="checkbox" name="checkPermissions[]" value="param_generaux"
     /></td>
    </tr>
    <tr>
    <td>Gestion des contenus</td><td><input type="checkbox" name="checkPermissions[]" value="gestion_contenu"
     checked="checked" /></td>
    </tr>
    <tr>
    <td>Gestion des articles</td><td><input type="checkbox" name="checkPermissions[]" value="gestion_articles"
     /></td>
    </tr>
    <tr>
    <td>Gestion des diaporamas</td><td><input type="checkbox" name="checkPermissions[]" value="gestion_diapos"
     /></td>
     
    </tr>
    <tr>
    <td>Gestion de vos menus</td><td><input type="checkbox" name="checkPermissions[]" value="gestion_menus"
     checked="checked" /></td>
    </tr>
    <tr>
    <td>Gestion des commentaires</td><td><input type="checkbox" name="checkPermissions[]" value="gestion_livreor"
     /></td>
    </tr>
    </table>
    </center>
    </p><br/>
    Côté javascript, nous avons la fonction in_array déjà mise et côté requeteAjaxCompte, nous avons :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    function requeteAjaxCompte(rAPage,ligne,redirection)
    {
      var xhr = getXhr();
     
      xhr.onreadystatechange = function()
      {
        if(xhr.readyState == 4)
        {
          if(xhr.status == 200)
          {
    	var leselect = xhr.responseText;
     
    	if(redirection=='liste')
    	{
    	  if(leselect.indexOf('/')==-1)
    	  {
    	    var tLigne = new Array();
    	    tLigne[0]=leselect;
    	  }
    	  else
    	    var tLigne = leselect.split('/');
     
    	  var eCheck = document.getElementsByName('checkPermissions[]');
     
    	  alert(leselect);
    	  for(var i = 0; i < eCheck.length; i++)
    	    if(tLigne.in_array(eCheck[i].value))
    	      eCheck[i].checked=true;
    	    else
    	      eCheck[i].checked=false;
    	}
          }
          else
    	alert('status : '+xhr.status+'\n reponse : '+xhr.statusText);
        }
      }
     
      var selection=document.getElementById('select_compte');
      ligne+='&idStyleCompte='+selection.options[selection.selectedIndex].parentNode.id+'&idCompte='+selection.options[selection.selectedIndex].value;
      xhr.open("POST",rAPage,true);
      xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
      xhr.send(ligne);
    }
    Côté php, il me renvoie une string où je concatène les permissions, séparée par un '/' que je split en javascript pour avoir mon fameux tableau tLigne;
    Côté contrôle de résultat, le alert(leselect) me renvoie bien ce que je souhaite (ce que renvoie php est correct donc).

    Pour reprendre l'exemple précédent, avec le groupe Test où j'ai seulement deux permissions, lors du test 'gestion_contenu' renvoie false (au lieu de true et ne me coche pas ma checkbox), mais gestion_menus fonctionne bien. De même, avec Administration, fiche_user renvoie false au lieu de true, tous les suivants sont corrects.
    C'est juste que le premier test me renvoie un truc erroné, mais les autres.

  6. #6
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut
    Re,

    Alors, petite avancée :
    a coup de "alert", lors du premier test (qui est donc erroné), le alert (mis dans la fonction in_array) me renvoi un undefined pour la première checkbox (au lieu de fiche_user par exemple), mais les autres, ça passe nikel .

    EDIT :
    Un alert mis juste après la récupération de mes champs (donc, dans la fonction requeteAjaxCompte, j'ai bien tous les champs nikel) : dois-je en conclure que lors du premier appel, le paramètre est mis à undefined (truc de fou quand même) ?

  7. #7
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    Un truc me chiffone dans ta fonction requeteAjaxCompte :
    Tu déclare deux fois la variable tLigne dans la même fonction. En Javascript, la portée d'une variable est définie par la fonction et non par les blocs(comme dans la plupart des langages avec une syntaxe c-like).
    L'interpréteur Javascript va chercher a initialiser deux fois la variable lors de la compilation de la fonction ( indépendamment des blocs ) et il peut donc y avoir des comportements étonnants sans forcement avoir une erreur a l'exécution.

  8. #8
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut
    Re,

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    function requeteAjaxCompte(rAPage,ligne,redirection)
    {
      var xhr = getXhr();
     
      xhr.onreadystatechange = function()
      {
        if(xhr.readyState == 4)
        {
          if(xhr.status == 200)
          {
    	var leselect = xhr.responseText;
     
    	if(redirection=='liste')
    	{
    	  var tLigne = new Array();
     
    	  if(leselect.indexOf('/')==-1)
    	    tLigne[0]=leselect;
    	  else
    	    tLigne = leselect.split('/');
     
    	  var eCheck = document.getElementsByName('checkPermissions[]');
     
    	  alert(leselect);
    	  for(var i = 0; i < eCheck.length; i++)
    	    if(tLigne.in_array(eCheck[i].value))
    	      eCheck[i].checked=true;
    	    else
    	      eCheck[i].checked=false;
    	}
          }
          else
    	alert('status : '+xhr.status+'\n reponse : '+xhr.statusText);
        }
      }
     
      var selection=document.getElementById('select_compte');
      ligne+='&idStyleCompte='+selection.options[selection.selectedIndex].parentNode.id+'&idCompte='+selection.options[selection.selectedIndex].value;
      xhr.open("POST",rAPage,true);
      xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
      xhr.send(ligne);
    }
    En changeant la fonction comme ci-dessus, ça ne change rien (toujours un undefined qui me renvoie false).

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Citation Envoyé par Paniez Voir le message
    Re,
    EDIT :
    Un alert mis juste après la récupération de mes champs (donc, dans la fonction requeteAjaxCompte, j'ai bien tous les champs nikel) : dois-je en conclure que lors du premier appel, le paramètre est mis à undefined (truc de fou quand même) ?
    il existe des caractères non imprimable comme \n, \t par exemple ou encore ce que l'on ne voit pas comme les space, est tu sûr de ne pas en avoir un devant ?

    remarque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var tLigne = new Array();
    if (leselect.indexOf('/') == -1)
      tLigne[0] = leselect;
    else
      tLigne = leselect.split('/');
    tu peux écrire directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var tLigne = [];
    tLigne = leselect.split('/');

  10. #10
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut
    Re,

    Citation Envoyé par NoSmoking Voir le message
    il existe des caractères non imprimable comme \n, \t par exemple ou encore ce que l'on ne voit pas comme les space, est tu sûr de ne pas en avoir un devant ?
    En entrée, j'ai exactement le même fichier pour générer mon formulaire et pour faire le test d'égalité.
    Sinon, existe-t-il une méthode pour supprimer ces caractères spéciaux ? Pour information, les chaines de caractères testées sont au "format" variable, c'est à dire que des caractères alphanumériques, sans espace (remplacé par des underscore).
    Et le truc qui me turlupine le plus, c'est cette histoire où le premier test est forcément faux (à cause d'un undefined).

    Citation Envoyé par NoSmoking Voir le message
    remarque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var tLigne = new Array();
    if (leselect.indexOf('/') == -1)
      tLigne[0] = leselect;
    else
      tLigne = leselect.split('/');
    tu peux écrire directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var tLigne = [];
    tLigne = leselect.split('/');
    Merci de l'info ; malheureusement, cela ne change rien (sauf enlever un peu de caractères pour le javascript.


    EDIT:
    Suite à ma réponse, j'ai testé si this[i] est null ; le premier renvoie toujours vrai. Donc, à priori, mon premier test est erroné à cause d'une valeur null. Pourtant, juste après le split, il m'affiche bien la valeur (et pas null).

  11. #11
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut
    Re,

    J'ai trouvé et NoSmoking était dans le vrai.
    Citation Envoyé par NoSmoking Voir le message
    il existe des caractères non imprimable comme \n, \t par exemple ou encore ce que l'on ne voit pas comme les space, est tu sûr de ne pas en avoir un devant ?
    J'ai deux retours à la ligne qui se sont insérés (\n).
    Le truc de fou, c'est que c'est la première fois que je vois cela entre mon résultat php (écriture dans fichier et compagnie me confirment bien ce que je veux) et la réception JS var leselect = xhr.responseText; qui insère ces deux caractères de retour de ligne.

    Du coup, j'ai juste fait un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var leselect = xhr.responseText;
    leselect=leselect.replace(/\n/g,'');
    Bonne journée

  12. #12
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    Erreur très courante lorsqu'on fait des webservices : un saut de ligne en dehors des balises php... Surtout que beaucoup d'editeur de fichiers ajoute automatiquement un saut de ligne a la fin d'un fichier (compatibilité pour certains langage pour lequel l'interpreteur nécessite un saut de ligne en fin de fichier)

  13. #13
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut
    Citation Envoyé par nadox Voir le message
    Erreur très courante lorsqu'on fait des webservices : un saut de ligne en dehors des balises php... Surtout que beaucoup d'editeur de fichiers ajoute automatiquement un saut de ligne a la fin d'un fichier (compatibilité pour certains langage pour lequel l'interpreteur nécessite un saut de ligne en fin de fichier)
    Re,

    Courante, courante, ...
    Je ne fais de l'ajax depuis 15 ans (bon, même si à l'époque ce n'était pas possible ), mais c'est vraiment la première fois qu'une chaîne retournée du PHP se voit ajouter en début deux sauts de lignes.
    Pour l'histoire du fichier, je l'ai fait juste pour contrôler que, côté PHP, tout était correcte ; et puis, je suis en éditeur brut (kate pour être précis).
    Enfin bon, tout est ok.

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

Discussions similaires

  1. Test Egalité entre 2 string
    Par Frog74 dans le forum VBA Access
    Réponses: 6
    Dernier message: 19/05/2008, 09h27
  2. .NET C# Egalité entre 2 instances
    Par mow dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/08/2006, 09h38
  3. [C++.NET] Egalite entre datatables
    Par raboin dans le forum VC++ .NET
    Réponses: 5
    Dernier message: 06/06/2006, 15h59
  4. Différence entre un String et un string ?
    Par pepito62 dans le forum C++Builder
    Réponses: 4
    Dernier message: 24/03/2005, 15h11
  5. [.NET VC++] ou exclusif entre deux String
    Par benoitB dans le forum MFC
    Réponses: 7
    Dernier message: 25/11/2003, 11h20

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