Demande Https avec XMLHttpRequest
Im capable de faire des requêtes Http (POST/GET) avec XMLHttpRequest.
Je me demande comment faire pour faire des demandes avec les Url comme "https://www.gmail.com"
J'ai essayé quelque chose comme ça, mais le code d'état est 0
var http = new XMLHttpRequest();
var url = "https://www.gmail.com";
http.open("GET", url);
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
//alert(http.responseText);
print("ok")
}else{
print("cannot connect")
print("code:" + http.status)
print(http.responseText)
}
}
http.send(null);
Je reçois toujours "impossible de se connecter" "code" 0 et de rien comme réponse
Une idée?
OriginalL'auteur fran | 2012-01-10
Vous devez vous connecter pour publier un commentaire.
C'est voué à l'échec pour deux raisons:
1) L'url "https://www.gmail.com" en fait essaie de vous rediriger vers "https://mail.google.com/mail/", qui à son tour va essayer de vous rediriger vers une page de connexion. Cette redirection n'est pas répertorié comme une erreur
2) Cependant, plus important encore, vous ne pouvez pas faire XMLHttpRequests à un domaine différent, à moins que ce domaine prend en charge la SCRO (http://www.html5rocks.com/en/tutorials/cors/). GMail ne prend pas en charge la SCRO, de sorte que cette demande ne fonctionnera pas.
Oui, à cause de navigateur est de même de la politique d'origine, vous ne pouvez pas faire une demande à partir d'un domaine à un autre en utilisant la norme XHR. Notez qu'il existe d'autres mécanismes, tels que JSON-P ou les catégories de documents que vous pouvez utiliser, mais ces techniques nécessitent le serveur à la sortie de la réponse dans un format spécifique.
OriginalL'auteur monsur