ajax status = 0
je vais essayer d'obtenir des informations à partir d'un serveur distant sur ma machine locale.
readyState a pas de problème, c'est à dire ==4. cependant, le statut est toujours 0(au lieu de 200)
quand j'appuie sur le bouton, il ne retourne rien.
voici le code:
<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{//code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{//code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",'http://www.spartanbook.com/textbooks_xml.asp?control=campus&campus=45&term=80',true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>
</body>
</html>
C'est essentiellement à partir de w3shcools. remplace simplement l'url.
l'url que j'utilise est de travailler quand je le coller dans la barre d'adresse de mon navigateur.
Une idée?
Merci!!
- "Une idée?": N'utilisez pas de w3schools 🙂 w3fools.com
- Il ne fonctionne pas, parce que W3Schools est mauvais.
Vous devez vous connecter pour publier un commentaire.
Vérifier que vous ne faites pas une croix de domaine demande.
Si par exemple vous n'êtes pas au service de cette page à partir de http://www.spartanbook.com alors le résultat attendu serait de refus d'accès, qui curieusement donne un readyState de 4, mais l'état 0.
Si vous avez besoin de faire une croix demande de domaine, alors vous devez utiliser un proxy.
Ce code d'erreur indique que la réponse était vide. Semble être un problème de firewall
Comme Gavin dit, il semble que votre problème est que vous faites une croix demande de domaine, qui est bloqué par la plupart des navigateurs pour des raisons de sécurité: http://en.wikipedia.org/wiki/Same_origin_policy
Je vous suggère de passer le code à partir de votre ordinateur local vers un endroit qui satisfait aux "Même la Politique de l'Origine", dans votre cas, c'est quelque part sur http://www.spartanbook.com.
Cependant, il existe une solution de contournement pour le problème, et c'est d'utiliser JSONP. Qui vous permettra de récupérer les données JSON à partir d'un programme sur un autre domaine.