XMLHttpRequest IE vs others [Résolu]

Signaler
Messages postés
4270
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
-
Messages postés
4270
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
-
Salut à tous,

Voilà j'ai deux soucis (outre le fait que je lutte avec le css pour ie mais peu importe) : le but est de communiquer en localhost en javascript avec un exe local sur le port 85, il faut juste envoyer un flux xml en POST, récupérer la valeur, la forwarder sur le serveur et on est bon.


Bref mon truc se fait en deux étapes : récupère la valeur en local puis set sur la session.

Voilà donc ce que je fais:


function getParams(callback){

	var theUrl = "http://127.0.0.1:85";
	var xmlHttp = new XMLHttpRequest();
	xmlHttp.open("POST", theUrl, true); // true for asynchronous 
	xmlHttp.setRequestHeader("Access-Control-Allow-Origin", "*");
	xmlHttp.setRequestHeader("Garb", "\r\nHost: 127.0.0.1");
	xmlHttp.setRequestHeader("ss", "\r\nReferer");
	
	var sXML = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><JSCOXML version=\"1.0.0\"><CMD value=\"getinfo\"/></JSCOXML>";
	xmlHttp.onreadystatechange = function() { callback(xmlHttp); }
	xmlHttp.send(sXML);
}

getParams( function(result) {

	if (result.readyState == 4 && result.status === 200) {
		var arr = result.responseText.split("\r\n");
		if(arr.length >=1) {
			var hr = new XMLHttpRequest();
			var url = "procAjax.php";
			var vars = "function=setUserPop&popid="+arr[1];
			hr.open("POST", url, true);
			hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			hr.onreadystatechange = function() {
				if(hr.readyState == 4 && hr.status == 200) {			
					alert(hr.responseText);
				}
			}
			hr.send(vars);
		
		} else {
		  alert("Error while reading stew label station!");
		}
	} 
});




Plusieurs choses:
- Sous ie ca fonctionne plus ou moins : pour une raison qui m'échappe. parfois la fonction est lancé, parfois non ... (pas de message d'erreur, rien => en fait si je fais du débug ca marche à tous les coup, sans debug environ 1 fois sur 3) mais sur le principe ca passe ( si une idée je suis quand même preneur ^^)

- sous ff ou chrome là c'est mort, à tous les coup je me retrouve avec un net::ERR_EMPTY_RESPONSE à tous les coups et le body (l'app d'écoute écrit le body dans un log) n'est pas récupéré ou reconnu ...



Vous vous demanderez aussi pourquoi:
xmlHttp.setRequestHeader("Garb", "\r\nHost: 127.0.0.1");
xmlHttp.setRequestHeader("ss", "\r\nReferer");

C'est juste que je peux pas setter le host et le refer (securité js oblige) et comme le ******* d'exe de m***** est blindé de sécurité et test inutiles (le truc est quand même sur un réseau fermé et tout ce qu'il fait c'est peser des paquets mais bref), et vu qu'il n'interprete que les dernières occurrences des paramètres du header , j ai pas vraiment le choix.


bref => c'est le pied .... bon au pire je vais passer tout ca en php mais vu que chaque instance sur chaque poste connait un filtrage par ip et que sais je encore pour pouvoir récupérer UN P**** de poids (merci l'info ultra sensible -_-), j'aimerai quand même faire tout passer en local (surtout que c'est censé être ultra réactif).

Bref j'y crois pas trop, et je suis pas sur d'être super clair (en plus d'en avoir marre x]) , mais si jamais quelqu'un aurai quelques infos àme communiquer je prends tout !

merci à ceux qui auront déjà pris le temps de lire ;)


naga

1 réponse

Messages postés
4270
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
16
résolu => je fais en ajax ... je perds un peu de temps mais tant pis.

naga