web-dev-qa-db-fra.com

obtenir le code html en utilisant javascript avec une url

J'essaie d'obtenir le code source de HTML en utilisant un xmlhttprequest avec une URL. Y a-t-il quelqu'un qui peut m'aider avec ça? Je suis nouveau dans la programmation et je ne sais pas trop comment puis-je le faire sans jQuery. Merci d'avance.

15
simplified

Utilisez jQuery:

$.ajax({ url: 'your-url', success: function(data) { alert(data); } });

Ces données sont votre code HTML.

Sans jQuery (juste JS):

function makeHttpObject() {
  try {return new XMLHttpRequest();}
  catch (error) {}
  try {return new ActiveXObject("Msxml2.XMLHTTP");}
  catch (error) {}
  try {return new ActiveXObject("Microsoft.XMLHTTP");}
  catch (error) {}

  throw new Error("Could not create HTTP request object.");
}
var request = makeHttpObject();
request.open("GET", "your_url", true);
request.send(null);
request.onreadystatechange = function() {
  if (request.readyState == 4)
    alert(request.responseText);
};
21
Senad Meškin

Il existe un tutoriel sur la manière d'utiliser ajax ici: http://www.w3schools.com/ajax/default.asp

Voici un exemple de code tiré de ce tutoriel:

<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","ajax_info.txt",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>
3
Guy

Pour les solutions externes (intersites), vous pouvez utiliser: https://stackoverflow.com/a/18447625/2657601

Il utilise la fonction $.ajax(), de sorte qu'il inclut google jquery.

1
otaxige_aol