Server web génération XML et intégration html (Ajax)
Bonjour à tous,
Je viens vers vous car j'ai esseyer de rechercher une solution à mon problème mais je n'ai pas trouvé.
Je souhaite réaliser un server python permettant de générer un XML. Ca ca fonctionne.
Je souhaite maintenant pouvoir récuperer le xml à partir d'une page web à l'aide de la technologie Ajax. Ca coince à cause de cette erreur:
XMLHttpRequest cannot load http://127.0.0.1:8888/index.py. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
Voici mon code:
Server.py
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
#!/usr/bin/python3
import http.server
PORT = 8888
server_address = ("", PORT)
server = http.server.HTTPServer
handler = http.server.CGIHTTPRequestHandler
handler.cgi_directories = ["/"]
print("Serveur actif sur le port :", PORT)
httpd = server(server_address, handler)
httpd.serve_forever() |
Mon index.py
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
#!/usr/bin/python3
# -*- coding: utf-8 -*
import cgi
form = cgi.FieldStorage()
print("Content-type: text/xml; charset=utf-8\n ;Access-Control-Allow-Origin: *;\
Access-Control-Expose-Headers:Access-Control-Allow-Origin")
html = """
<ItemParent>
<Item1>5</Item1>
<Item2>12</Item2>
<Item3>0</Item3>
</ItemParent>
"""
print(html) |
Et voici ma requête ajax:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
function ajax()
{
var xhr=null;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
//on définit l'appel de la fonction au retour serveur
xhr.onreadystatechange = function() { alert_ajax(xhr); };
xhr.open("GET","http://127.0.0.1:8888/index.py", true);
xhr.send(null);
} |
Sur les différents sites/forum, ils mentionnent que le content-type doit avoir cet attribut :Access-Control-Allow-Origin: *
Ce qui est le cas au niveau de ma page index.py. Je ne comprends pas pourquoi ça ne fonctionne pas. Pouvez-vous m'aider ?
D'avance Merci,
Bonne journée,
Guillaume