Blocage d’une requête multiorigines (Cross-Origin Request)
Bonjour,
malgré mais nombreuses recherches et le fait qu'il y ai de nombreux posts sur le sujet, je n'ai pas trouvé de réponse à mon problème
j'essaie de récupérer les données d'un fichier data.json et j'obtiens l'erreur ci-dessous
ce que je ne comprends pas c'est que ce code fonctionnait à l'IUT lorsque je l'ai étudié
j'ai essayé d'ajouter des add-on Access-Control-Allow-Origin sur firefox et chrome pour autoriser mais sans succès
mes fichiers demo.html, data.json et json.sj sont dans le même répertoire en local
d'avance merci pour votre aide
Citation:
Blocage d’une requête multiorigines (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur file:///C:/Users/jl3.PRT-063/Desktop/JS/data.json. Raison : la requête CORS n’utilise pas http.
demo.html
Code:
1 2 3 4 5 6 7 8 9 10 11
| <!DOCTYP html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body onload="recuperationData()">
<script type="text/javascript" src="json.js"></script>
</body>
</html> |
json.js
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| function recuperationData()
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", 'data.json', true);
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
datas = JSON.parse(xmlhttp.responseText);
datas.forEach(function(datas) {
console.log(datas.typeExam);
})
}
};
xmlhttp.send(null);
} |
data.json
Code:
1 2 3 4 5 6 7 8 9 10
| [
{
"typeExam":"Examen 1",
"unit": ["mg/L","g/dL"]
},
{
"typeExam":"Examen 2",
"unit": ["µmol/L","mmol/L"]
}
] |
pour être honnête, je n'y comprends rien...
merci Hervé
je sors de l'IUT (juin dernier) et c'est la seule méthode que l'on ai apprise en cours de JS...
je ne comprends pas vraiment le post que tu m'as transféré en lien
et surtout je suis surpris que ce soit si compliqué de développer et tester son code JS en local ...