Bjr , je suis un peu nouveau avec cette technologie .En effet j'aimerai savoir comment on peut envoyer du serveur au client une chaine de caractères dont la taille dépasse 256 cratères .
Version imprimable
Bjr , je suis un peu nouveau avec cette technologie .En effet j'aimerai savoir comment on peut envoyer du serveur au client une chaine de caractères dont la taille dépasse 256 cratères .
Code:echo 'chaîne de plus de 256 caractères';
Quel est le problème exactement ? :koi:
Et 256 caractères, c'est pas exactement ce qu'on appelle des "données volimineuses" :aie:
merci Bovino pour ta réponse mais mon problème est ailleurs voici les détails :
en fait j'ai trois(3) fichiers dont 2 sur le serveur et un js .
/*************************************************/
le premier fichier(php) sert à extraire les données de ma base voici un bout du code :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19$articles = '<?xml version="1.0"?>'; header('Content-Type: text/xml'); ... ... $articles.="<article>"; foreach ($lignes as $row) { $accroche = $row['accroche']; $articles.="<accroche>".$accroche."</accroche>"; } $articles.="</article>"; return $articles;}
/*****************************************************/
le second fichier (php ) permet d'envoyer les données vers le clients
voici un bout de code :
Code:
1
2
3
4
5
6
7 $idArticle = (int)$_POST['idArticle']; /// c'est l'id de l'article que le client // demande $art = new Article(); /// l'objet qui nous renvoie l'article /// il est défini dans le premier fichier $article = $art->afficherArticle($idArticle); echo $article; /// renvoie de l article au client
/****************************************************/
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 // le fichier client ( js ) voici un bout de code ........ ............... ............... ............... var xhr = getXMLHttpRequest(); xhr.onreadystatechange = function() { if( (xhr.readyState == 4) &&( xhr.status == 200) ) { var reponse = xhr.responseXML; articles = reponse.getElementsByTagName('accroche'); alert(articles.length); } var idArticle = id; xhr.open("POST","afficherarticle.php",true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send("idArticle="+idArticle); } }
problème :
si sur le serveur la chaine de caractères extraite contient assez le caractères alert(articles.length) me donne 0 .
si sur le serveur je fais une modification semblable à celle ci:
$articles.="<accroche>".substr($accroche,0,20)."</accroche>";
alert(articles.length) me renvoie 20.
quelqu'un a une idée ??
Bonsoir,
Il n'y a pas de caractères spéciaux dans le flux xml par hasard ?
A+.
oui andry.aime ,
il y a des caractères spéciaux . Y a t il des rapports ?
Merci Andry pour la réponse ,
mais malheureusement j'ai toujours le même problème .
J'ai essayé sur un autre exemple .Le même problème : j'arrive pas à transmettre au client une longue chaine en utilisant XML ( xhr.responseXML). Avec ( xhr.responseText) ça marche . Comment faites vous pour envoyer une longue chaine de caractères au client en utilisant XML ?
Ton problème n'a rien à voir avec la longueur de la chaine mais les caractères spéciaux. Quelle caractères spéciaux il y a?
Je veux que ça soit n'importe quel caractère spécial .
Code:echo htmlentities($article);
Sinon cherche de coté php pour les encoder.
A+.