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

zemage

WRInaute discret
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:
<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:
<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
AJAX ou PHP & JAVASCRIPT ?

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

Voici le fichier index.php3
Code:
<?
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:
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:
<?
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
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.
 

zemage

WRInaute discret
colonies a dit:
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 impliqué
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
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:
<exp0>
	<clef>clef user</clef>
	<exp1>
		<url>.....</url>
	</exp1>
</exp0>

j'ai le schéma xml de la réponse :
Code:
<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:
<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
 

zemage

WRInaute discret
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:
 

Discussions similaires

Haut