Bonjour à tous. J'espère que je poste au bon endroit.
En vue de m’entraîner à utiliser les fichiers XML, j'ai voulu essayer de me créer une sorte de page web en local. L'objectif est simple : créer un formulaire depuis une page XML. J'ai donc décidé d'utiliser JQuery pour la lecture du fichier, mais à chaque fois que je lance la page, je suis stoppé par l'erreur suivante :
J'ai essayé de chercher sur le net à droite à gauche, mais j'ai rien trouvé qui semblait être la solution exacte à mon soucis. Ou alors j'ai mal cherché...Access to XMLHttpRequest at 'file:///C:/Users/*****/Desktop/MAIN/WERK/Javascript/xmlTest/test.xml' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
J'utilise Vivaldi comme navigateur internet.
Voilà mon code :
home.html
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Formulaire</title> </head> <body> <script src=".\node_modules\jquery\dist\jquery.js"></script> <script src=".\test.js"></script> <span id="texteJQ"></span> <div id="XMLDisplay"></div> </body> </html>
Le fichier xml en question
Code xml : 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 <?xml version="1.0" encoding="UTF-8"?> <form> <input x="10" y="10"></input> <combo x="10" y="30"> <elem>rouge</elem> <elem>bleu</elem> <elem>vert</elem> <elem>jaune</elem> </combo> <radio x="10" y="50"> <elem>cercle</elem> <elem>carré</elem> <elem>triangle</elem> <elem>rectangle</elem> </radio> <checkbox x="10" y="100">Outline</checkbox> <button x="10" y="120">OK</button> </form>
test.js (Pour le moment, je ne cherche qu'a trouver les balises "input".)
Merci d'avance pour votre aide.
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 $(function() { $('#texteJQ').html('Hello world. Ce texte est affiché par jQuery.'); }); $(document).ready(function() { $.ajax( { type: "GET", url: "test.xml", async: false, dataType: "xml", success: function(xml) { $(xml).find('form').each(function() { $(xml).find('input').each(function() { $('#texteJQ').html("test"); let input = document.createElement("INPUT"); input.setAttribute("type", "text"); input.setAttribute("value", "Hello !"); }); }); } }); });
Partager