requête XMLthhpRequest avec POST qui ne marche pas
Publié : 10 janv. 2018, 14:26
Bonjour,
Avec Javacript et XMLhttpRequest, j'interroge le serveur http://ip-api.com pour obtenir des informations de géo -localisation d'un lot d'adresses IP.
Le code suivant marche très bien sur Chromium, Vivaldi et Opéra mais plante avec Firefox
Quelqu'un a une idée du pourquoi ?
Il semble que la politique de sécurité de Firefox soit plu dure qu'avec d'autres navigateurs.
La doc du site est visible à http://ip-api.com/docs/api:batch
Merci par avance.
Avec Javacript et XMLhttpRequest, j'interroge le serveur http://ip-api.com pour obtenir des informations de géo -localisation d'un lot d'adresses IP.
Le code suivant marche très bien sur Chromium, Vivaldi et Opéra mais plante avec Firefox
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>sans titre</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 1.29" />
</head>
<body>
<p>Hello</p>
<script type="text/javascript">
const XHR = new XMLHttpRequest();
XHR.onreadystatechange = function (event) {
if (this.readyState === XMLHttpRequest.DONE) {
if (this.status === 200) {
console.log(JSON.parse(this.responseText));
} else {
console.log("Status de la réponse: %d (%s)", this.status, this.statusText);
}
}
}
/*
XHR.open('GET', 'http://ip-api/json/37.115.205.45', true);
XHR.send();
*/
const data = JSON.stringify([
{ query: '37.115.205.45' },
{ query: '185.38.250.76' }
]);
console.log(data);
XHR.open('POST', 'http://ip-api.com/batch', true);
XHR.setRequestHeader('Accept', '*/*');
XHR.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
XHR.send(data);
</script>
</body>
</html>
Il semble que la politique de sécurité de Firefox soit plu dure qu'avec d'autres navigateurs.
La doc du site est visible à http://ip-api.com/docs/api:batch
Merci par avance.