IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Lecture de fichier


Sujet :

AJAX

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut [AJAX] Lecture de fichier
    Bonjour,

    J'utilise une fonction JavaScript qui marche sans aucun soucis dans mes pages HTML qui est la suivante :

    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
    function fichier_txt(fichier) {
    //TEST POUR FIREFOX, CHROME, ETC...
    if(window.XMLHttpRequest) {
        obj_pers = new XMLHttpRequest(); 
    } 
    //TEST POUR INTERNET EXPLORER
    else if(window.ActiveXObject) {
        obj_pers = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    //SINON 
    else {
        alert('Problème lors de la lecture du fichier');
        return(false);
    } 
    //ON LIT LE CONTENU DU FICHIER
    obj_pers.open("GET", fichier, true);
    obj_pers.send(null);
     
    //UNE FOIS LA LECTURE FINI, ON RETOURNE LE RESULTAT DE LA LECTURE
    if(obj_pers.readyState == 4) {
        return(obj_pers.responseText);
    } else {
        return(false);
    }
     
    }
    Et voila que je l'implémente en .NET et plus particulièrement ASP et il me retourne "Erreur d'exécution Microsoft JScript : Permission refusée".

    D’où viens l'erreur ?

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 416
    Points
    91 416
    Billets dans le blog
    20
    Par défaut
    Difficile de te répondre précisément car on ne sait pas comment est appelée la fonction et surtout ce que contient le paramètre fichier.

    Ceci dit, vu ce que tu décris, il semble probable que tu ais fais des essais en local (protocole file:) et que ça ne fonctionne plus lorsque tu passes en ligne (protocole http:) pour des raisons de Same Origin Policy.

    PS : à titre d'information,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //TEST POUR INTERNET EXPLORER
    else if(window.ActiveXObject) {
        obj_pers = new ActiveXObject("Microsoft.XMLHTTP"); 
    }
    c'est une fausse idée que tu te fais : à part IE6, Internet Explorer utilise aussi l'objet XMLHttpRequest.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut
    Merci de ta réponse Bovino,

    Je fais appelle à ma fonction une fois que l'utilisateur à sélectionner un fichier à analyser :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form action="#" >
    Fichier a analyser : <input type="file" name="fileName" value="fileName" OnChange="creation(fileName.value)">
    </form>

    Fichier contient donc le nom d'un fichier à traiter.

    Existe t-il un moyen de régler mon problème par le biais du Same Origin Policy ?

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 416
    Points
    91 416
    Billets dans le blog
    20
    Par défaut
    Non, dans ce cas, il ne s'agit pas de Same Origin Policy mais d'un concept assez basique de sécurité : un script JavaScript n'a pas à accéder au système de fichiers de l'utilisateur !
    Sinon, ça voudrait dire qu'en allant sur n'importe quel site, tu risquerais de te faire aspirer tous tes fichiers sans forcément t'en rendre compte !
    Bref, l'input file ne contient que le nom du fichier, pas son arborescence.

    Sinon, il existe une API HTML5 qui permet de récupérer le contenu du (ou des) fichier(s) sélectionné(s) par l'utilisateur : Using files from web applications, mais c'est loin d'être encore complètement supporté.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut
    Entendu je prend bonne note de ta réponse.

    Merci encore pour le temps consacré à mon problème

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Lecture d'un fichier json par ajax
    Par zizoo510 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/08/2008, 13h11
  2. [AJAX] lecture fichier json distant
    Par 4R416N33 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 08/06/2008, 21h01
  3. ajax lecture dans fichier xml sans serveur
    Par TERRIBLE dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/03/2008, 13h19
  4. [AJAX] Lecture et affichage du contenu d'un fichier xml dans un menu deroulant
    Par undercrash dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/01/2008, 17h26
  5. [JS/XML/Ajax?] Lecture d'un fichier XML
    Par Hao dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/10/2007, 10h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo