Xml, ajax, requête envoi, réception

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


zemage
WRInaute discret
WRInaute discret
 
Messages: 92
Inscription: Ven Jan 13, 2006 20:04

Xml, ajax, requête envoi, réception

Message le Sam Sep 16, 2006 15:38

Bonjour, je suis en train de faire un script de communication avec un serveur donné. Je cherche à envoyer depuis mon site vers une adresse précise une requête xml du type :
Code: Tout sélectionner
<expression>
   <expression0>.....</expression0>
   <request><url>.......</url></request>
</expression>

et de plus je cherche à récupérer la requête pour traiter le message.
Comment est-ce possible?
j'ai un début de code :

Code: Tout sélectionner
<html>
<head>
</head>

<body>
<script language="javascript">
function go()
{
var xhr_object = null;

if(window.XMLHttpRequest) // Firefox
   xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
   xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
   return;
}

xhr_object.open("GET",........url......, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) alert("Requête effectuée !");
}
</script>
<form action="">

<input type="button" value="Exécuter" onclick="go()" />
</form>
</body>
</html>


Merci.

Mygale13
Nouveau WRInaute
 
Messages: 2
Inscription: Sam Sep 16, 2006 21:42

AJAX ou PHP & JAVASCRIPT ?

Message le Sam Sep 16, 2006 21:47

J'utilise une methode différente pour recuperer des données sur le serveur sans recharger ma page.

Voici le fichier index.php3
Code: Tout sélectionner
<?
session_start();
if (!isset($_SESSION['fois'])): $_SESSION['fois']=0; endif;
$_SESSION['fois']++;
print "Page affich&eacute;e : $_SESSION[fois] fois.";
?>
<html>
<!-- Date de création: 16/09/2006 -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
<script type="text/javascript" src="javascript.js"></script>
</head>
<body>

<form action="villes.php3" method="post" target="envdonne">
<table>
<tr>
<td>
Code Postal :
</td>
<td>
<select name="CP" onchange="this.form.submit();">
   <option value="" selected> </option>
   <option value="13127"> 13127</option>
   <option value="13700"> 13700</option>
   <option value="13500"> 13500</option>
</select>
</td>
</tr>
<tr>
<td align="right">
Ville :
</td>
<td id="ici">
<input type="text" name="ville" size="20" maxlength="256" value="Aucune ville">
</td>
</form>
</tr>
</table>
<br><br>
Rechargez la page en cliquant <a href="index.php3">ici<a>.

<script>

</script>

</body>
</html>
<iframe style="visibility: hidden; position: absolute" name="envdonne"></iframe>


Voici le fichier javascript.js

Code: Tout sélectionner
function affichercode(code){
//document.write(test);
var ns4 = (document.layers)? true:false; /* Nescape 4 */
var ie4 = (document.all && !window.opera)? true:false; /* Internet Eplorer 4 */
var dom = (document.getElementById)? true:false; /* Nescape 6 ou Internet Eplorer 6 */
if (dom){document.getElementById("ici").innerHTML = code; return;}
if (ie4){document.all["ici"].innerHTML = code; return;}
if (ns4){ with (eval('document.'+"ici"+'.document')){open(); write(code); close();} return;}}


et Voici le fichier villes.php3

Code: Tout sélectionner
<?
if ($_POST['CP']=="13127"):
$ville="Vitrolles";
elseif ($_POST['CP']=="13700"):
$ville="Marignane";
elseif ($_POST['CP']=="13500"):
$ville="Martigues";
else:
$ville="Aucune ville";
endif;

print "<script>";
print "parent.affichercode('<input type=\"text\" name=\"ville\" size=\"20\" maxlength=\"34\" value=\"$ville\">');";
print "</script>";
?>


Voila !

Bien sûre, c'est optimisable à souhait !!! :D

Bon je sais pas ce que ça vaut, mais moi ça me convient bien mieux que AJAX.


zemage
WRInaute discret
WRInaute discret
 
Messages: 92
Inscription: Ven Jan 13, 2006 20:04

Message le Dim Sep 17, 2006 1:41

Je te remercie pour ta réponse, je cherche plutôt à intégrer un code de type xml avec des balises et l'envoyer avec la fonction xhr_object.send(....);
je recherche la syntaxe, et les requêtes d'envoie et de réception vers un url précis.

colonies
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 182
Inscription: Dim Sep 10, 2006 21:54

Message le Dim Sep 17, 2006 11:04

connais-tu prototype ?
http://prototype.conio.net/

cette petite librairie rend bien des services et permet d'avoir un code très clair, je te la conseille vivement.


zemage
WRInaute discret
WRInaute discret
 
Messages: 92
Inscription: Ven Jan 13, 2006 20:04

Message le Dim Sep 17, 2006 22:43

colonies a écrit:connais-tu prototype ?
http://prototype.conio.net/

cette petite librairie rend bien des services et permet d'avoir un code très clair, je te la conseille vivement.

Merci pour ce lien je ne connaissais pas, je viens de lire et décortiquer les multiples fonctions de ce prototype, un vrai travail de documentation.
Je suis débutant sur les requêtes xml et l'ajax, c'est pourquoi je fais pas mal d'erreur de syntaxe.Je trouve le prototype trop complexe pour moi pour le moment, je ferais trop d'erreur à l'implémenter pour le moment.
Je garde ces scripts et progressivement j'avancerais.

colonies
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 182
Inscription: Dim Sep 10, 2006 21:54

Message le Lun Sep 18, 2006 2:31

trop complexe ? 8-O

http://www.electrolinux.com/traductions ... pe.js.html (doc de la 1.3.1 en français)

regarde simplement le premier exemple, on ne peut pas faire tellement plus simple. Mais peut-être n'avais-tu pas la doc, c'est vrai qu'elle n'est pas sur le site officiel.

pour le reste, je ne vois pas trop quel est ton problème : envoyer le message XML ? le récupérer ?

"récupérer la requête pour traiter le message.", je ne comprend pas. Tu récupères un résultat, tu envoies une requête. Alors "récupérer la requête", c'est un peu flou...

Mets ton code actuel si tu veux un coup de main, et pas un exemple complètement vide sinon c'est un peu galère ;-)


zemage
WRInaute discret
WRInaute discret
 
Messages: 92
Inscription: Ven Jan 13, 2006 20:04

Message le Lun Sep 18, 2006 15:24

Salut et merci pour la doc en français.
Dans la doc l'exemple qui me servirait serait celui :
Utilisation de la classe Ajax.Request
je comprends qu'on a un fichier ex.xml avec les expressions.

On a ensuite des fonctions javascript, mais comment faire appel aux expressions xml ? (2 fichiers ? un test.php et l'autre ex.xml ?)
Comment les mettre en relation et ou afficher le résultat, je ne vois pas comment la corrélation se fait et comment ça s'affiche.
Pourrais tu m'envoyer en mp un exemple completement assemblé?


Pour mon problème, en fait c'est un protocole utilisant une clef définit pour un utilisateur précis.
J'envoie toutes les requêtes à une adresse donnée http://....
Code: Tout sélectionner
<exp0>
   <clef>clef user</clef>
   <exp1>
      <url>.....</url>
   </exp1>
</exp0>


j'ai le schéma xml de la réponse :
Code: Tout sélectionner
<exp0>
   <exp2>
      <exp3>.....</exp3>
   </exp2>
</exp0>

je dois récupérer le contenu de ce qui est entre <exp3>...</exp3>

ensuite je resoumets une requête avec le contenu de exp3 à la même adresse
Code: Tout sélectionner
<exp0>
   <clef>clef user</clef>
   <exp1>
      <exp3>.....</exp3>
   </exp1>
</exp0>

Je dois récupérer la réponse ensuite.
Voila donc je dois envoyer une expression xml, puis récupérer puis extraire une expression
contenu dans la réponse xml.Je cherche donc un script qui peut y répondre.
Par exemple il y a ce cours sur ce site mais je n'arrive pas à l'adapter à mon sujet :
http://siddh.developpez.com/articles/ajax/#LIV-B

colonies
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 182
Inscription: Dim Sep 10, 2006 21:54

Message le Lun Sep 18, 2006 15:50

ah oui, mais là par contre il va te falloir un cours sur le DOM :-/
cherche en particulier des choses sur
- responseXML
- getElementsByTagName()
- firstChild
- data
- attributes

des trucs comme ça : http://www.w3schools.com/dom/dom_nodes_get.asp

bon courage


zemage
WRInaute discret
WRInaute discret
 
Messages: 92
Inscription: Ven Jan 13, 2006 20:04

Message le Mar Sep 19, 2006 0:09

Cool pour ce lien le traitement d'un fichier xml, en 3 jours de recherches je maitrise des notions que je ne connaissais pas en ajax, peut-être que je vais y arriver...En tout cas merci pour ces infos.
:wink:


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités