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 :

Requête XMLHttpRequest http vers WebService local pas de réponse du WS


Sujet :

AJAX

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2006
    Messages : 269
    Points : 93
    Points
    93
    Par défaut Requête XMLHttpRequest http vers WebService local pas de réponse du WS
    Bonjour,

    J'ai un Web service qui tourne en localhost.
    lorsque je lance l'URL de la requête à partir d'un ongle de Chrome, la réponse du WS est immédiate par contre, lorsque je lance la requête "http" à partir du code JS d'une page web, j'ai une erreur Network error et la WS ne répond pas du tout.

    Lorsque je le fais via une requête "https" je n'ai pas de problème si je donne une autorisation ponctuelle avec un certificat auto-signé.

    comment puis-je lancer une requête http en ajax, comme je peux le faire en tapant l'url sur le champ du browser ?

    Voici mon code :
    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
    29
    30
    31
    32
     
    function launch_ws(){
     
    		var link = "http://nom_pc_client:8080/LocalFileService/checkForFile?serverLogin=xxxxxxx"
    		alert(link);
     
    		var xmlhttp = new XMLHttpRequest();
     
    		xmlhttp.onreadystatechange=function() {
     
    			if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    				var response = xmlhttp.responseText; 
    				alert(response);
    			}
    		}
     
    		xmlhttp.open("GET",link,true);		
    		xmlhttp.send();
     
    		xmlhttp.onerror = function() {
    			alert(`Network Error`);
    		};
     
    		xmlhttp.onprogress = function(event) { 
    			alert(`Received ${event.loaded} of ${event.total}`);
    		};
     
    		xmlhttp.onload = function() {
    			alert(`Loaded: ${xmlhttp.status} ${xmlhttp.response}`);
    		};
     
    }
    J'obtiens une alerte avec "Network Error"

    Est-il possible de le faire comme ça ?

    Merci d'avance

    cpf

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    8 279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 8 279
    Points : 12 847
    Points
    12 847
    Par défaut
    si vous n'avez pas eu de réponse dans votre précédente discussion, c'est sûrement parce qu'il n'est pas possible de lire une adresse en HTTP par javascript si le code est exécuté sur une page en HTTPS.
    https://www.developpez.net/forums/d2...on-ponctuelle/

    une solution serait de passer par un "proxy" côté serveur.
    par exemple vous avez une page "https://serveur1/affichage.php".
    sur cette page, le code javascript va envoyé une requête à "https://serveur1/proxy.php"
    dans proxy.php, le code PHP va demander les données au webservice à l'URL "http://nom_pc_client:8080/..." et les retourner au code javascript.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2006
    Messages : 269
    Points : 93
    Points
    93
    Par défaut
    Bonjour

    merci pour la réponse mais cette solution n'est pas possible dans mon entreprise

    cpf

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2006
    Messages : 269
    Points : 93
    Points
    93
    Par défaut
    Par contre, quand je lance un document.location.href, l'appel au WS fonctionne.
    le problème alors est qu'il ouvre un nouvel onglet.
    Peut-on faire en sorte que cet ongle ne s'ouvre pas ou qu'il se ferme de suite après ?

    Merci

    cpf

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2006
    Messages : 269
    Points : 93
    Points
    93
    Par défaut
    j'ai réglé le problème en lançant une requête http qui ouvre une fenêtre indépendante que l'utilisateur voit 2 secondes, réduite à la taille minimum et qui se ferme 2 secondes après
    Cela me permet de faire un appel au WS local abouti qui lance la procédure

    Merci

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

Discussions similaires

  1. [AJAX] XMLHttpRequest HTTPS vers HTTP
    Par Iloyo dans le forum AJAX
    Réponses: 1
    Dernier message: 07/09/2012, 13h53
  2. Réponses: 1
    Dernier message: 02/07/2009, 08h00
  3. Requête HTTP vers un site Web
    Par lolodev dans le forum Langage
    Réponses: 1
    Dernier message: 28/01/2008, 10h42
  4. Réponses: 4
    Dernier message: 22/01/2008, 13h03
  5. Réponses: 1
    Dernier message: 19/01/2008, 14h15

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