2010-11-11 34 views
0

J'essaie d'utiliser XMLHttpRequest sur SSL pour un système de connexion. Actuellement, je ne fais que tester les capacités de XMLHttpRequest sur SSL pour m'assurer qu'il fonctionne bien. Alors, voici ce que je suis test:XMLHttpRequest sur SSL ne renvoie aucune donnée

pertinente Javascript:

xml_request.open("POST", "https://......", true); 

xml_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xml_request.setRequestHeader("Content-length", 0); 
xml_request.setRequestHeader("Connection", "close"); 

xml_request.send(); 

alert(xml_request.reponseText); //displayed using the appropriate onreadystatechange handler 

PHP Script:

print json_encode(array(
    "text" => "this is text" 
)); 

Maintenant, en utilisant http la demande fonctionne très bien; xml_request.responseText contient la chaîne codée en JSON. Lorsque j'utilise https, xml_request.responseText est défini, mais c'est une chaîne vide.

Est-ce que quelqu'un est pourquoi et/ou comment résoudre ce problème?

Merci beaucoup, Dale

+0

Juste pour vérifier, avez-vous essayé de faire une telle requête directement (sans XmlHttpRequsest), en utilisant peut-être un outil comme curl pour voir si la requête fonctionne? Effectuez-vous la demande sur votre site HTTPS à partir d'une page diffusée via HTTPS sur le même site ou à partir d'une page diffusée via HTTP (auquel cas vous serez limité par les restrictions intersites)? – Bruno

Répondre

0

Habituellement, toute incompatibilité de certificat vous empêcher de vous connecter. Pouvez-vous ouvrir l'URL du site avec un navigateur et vérifier les paramètres de certificat sur le serveur pour voir si quelque chose est hors de l'ordinaire ou vous donner des messages d'avertissement?

+0

Je me suis connecté à la page via https et aucune erreur n'est apparue. J'ai déjà confirmé une exception de sécurité dans Firefox puisqu'il s'agit d'un certificat auto-signé sur mon serveur de test ... –

+0

Selon l'exception FF, je dirais que nous sommes sur la bonne voie en supposant qu'il pourrait s'agir d'un problème de certificat. Pouvez-vous vérifier si le certificat client est correctement installé sur la machine et les trousseaux de l'utilisateur? – Cahit

+0

Comment puis-je vérifier si elle a été correctement installée? –