Bonjour à tous,
Je fais face à un problème qui vraisemblablement relève de la manière dont jQuery 1.6.1 fait les requêtes cross-domain.
Mon site propose plusieurs sous-domaines dont un qui contient toutes les ressources communes (images, css, js) aux autres. J'ai donc besoin de charger régulièrement des fichiers de configuration par exemple stocké sur ce dernier (qu'on appellera racine.exemple.com dans notre cas).
Lorsque je demande le chargement d'un de ces fichiers de configuration qui se présente sous la forme d'un fichier ini, j'obtiens différents messages suivant le navigateur employé. Voici tout d'abord mon code :
Ici, url contient donc l'adresse vers un fichier du type racine.exemple.com/config.ini et on se contente de placer le contenu texte du fichier dans file_details.content en cas de succès.
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $.ajax({ async:false, crossDomain:true, url:url, method:"GET", succss:function (data){ file_details.content = data; }, error:function (xhr, status, error){ alert("Erreur de chargement du fichier '"+url+"' : "+xhr.responseText+" ("+status+" - "+error+")"); }, dataType:'text' });
En cas d'erreur, on affiche les détails du probleme :
- Sous IE9 j'obtiens ce message :
- Alors que sous FF4 :Erreur de chargement du fichier 'http://racine.exemple.com/config.ini' : undefined (erreur - Erreur : Accès refusé).
Je ne comprends pas bien. J'ai également d'y insérer le code qui exploite la méthode YQL mais ca produit le même effet sans différences dans les messages ni les codes d'erreur.Erreur de chargement du fichier 'http://racine.exemple.com/config.ini' : undefined (error - [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://code.jquery.com/jquery-1.6.1.min.js :: <TOP_LEVEL> :: line 27" data: no])
Je précise que la requête se fait en synchrone car j'attends d'avoir chargé toute ma config côté client pour poursuivre. Je souhaite garder le format ini.
Est-ce que quelqu'un aurait une explication?
Merci par avance, bon week end.
Partager