Bonjour tout le monde, après avoir recherché sur Google, j'ai trouvé aucune soluce... ça me semble vachement bizarre parce que j'utilise la même methode que tout ce que j'ai vu sur internet (et même sur les tutos de developpez.com)

Mon script

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
var request;
 
function chaineRequete() {
	var queryString = "";
	var frm = document.forms[0];
	var nbr = frm.elements.lenght;
 
	for(var i = 0; i < nbr; i++) {
		if(i < nbr-1)
			queryString += frm.elements[i].name + "=" + encodeURIComponent(frm.elements[i].value) + "&";
		else
			queryString += frm.elements[i].name + "=" + encodeURIComponent(frm.elements[i].value);
	}
 
	return queryString;
}
 
function initReq(reqType,url,isAsynch) {
	var queryString = chaineRequete();
 
	request.onreadystatechange = traiteReponse;
	request.open(reqType,url,isAsynch);
	request.setRequestHeader("Content Type","application/x-www-form-urlencoded; charset=utf-8");
	request.send(queryString);
}
 
function httpRequest(reqType,url,isAsynch) {
	if(window.XMLHttpRequest)
		request = new XMLHttpRequest();
	else if(window.ActiveXObject) {
		request = new ActiveXObject("Msxml2.XMLHTTP");
		if (!request)
			request = new ActiveXObject("Microsoft.XMLHTTP");
	}
 
	if (request)
		initReq(reqType,url,isAsynch);
	else
		alert("Navigateur incompatible AJAX");
}
 
function envoiDonnees() {
	var url = "xml_convert.php";
 
	httpRequest("POST",url,true);
}
 
function traiteReponse() {
	if(request.readyState == 4 && request.status == 200)
		alert(request.responseText);
	else if(request.readyState == 4)
		alert("Un problème est survenu durant la communication avec le serveur");
}
xml_convert.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?php
header("Content-Type: text/xml; charset=utf-8");
 
echo '<?xml version="1.0" encoding="utf-8"?>'."\n";
echo '<params>'."\n";
 
foreach($_POST as $type => $champ)
        echo '<'.$type.'>'.$champ.'</'.$type.'>'."\n";
 
echo '</params>'."\n";
?>
Me renvoie une erreur:

Erreur : uncaught exception: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXMLHttpRequest.setRequestHeader]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: http://192.168.1.5/hacks-ajax/hack2/post-query.js :: initReq :: line 23" data: no]

Si je commente la ligne "setRequestHeader" plus d'erreur mais les données ne sont pas transmises

Je débute vraiment en Ajax (d'ailleurs ce code vient d'un exercice que je fais depuis un livre) donc j'ai ptet une mega erreur mais je vois pas où...

HELP (et merci d'avance )