Est-il possible de charger une seule page à partir d'un site Web externe?
J'essaie de montrer une seule page mais n'arrive pas à la faire fonctionner
$("#response").load("http://domain.com", function(response, status, xhr) {
if (status == "error") {
var msg = "Sorry but there was an error: ";
alert(msg + xhr.status + " " + xhr.statusText);
}
});
De l'aide serait grandement appréciée
Vous rencontrez une stratégie de domaine croisé issue parce que AJAX (pour des raisons de sécurité) ne vous laissera pas récupérer le contenu d'une page ne se trouvant pas sur le même domaine.
Pour s'en débarrasser et accomplir votre tâche:
vous avez besoin d'un fichier PHP que vous pouvez appeler grabber.php
avec juste cette ligne de PHP:
<?php echo file_get_contents($_GET['url']); ?>
Que dans votre html (ou n'importe quel fichier, faites comme :)
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<meta charset=utf-8 />
<title>test</title>
</head>
<body>
<div id="response"></div>
</body>
<script>
$(function(){
var contentURI= 'http://domain.com #element'; // URL TO GRAB + # of any desired element // if needed :)
$('#response').load('grabber.php?url='+ contentURI);
});
</script>
</html>
Pourquoi ça marche?
grabber.php
,grabber.php
renvoie le contenu souhaitéEssayez-vous de charger une page sur un domaine différent?
Si oui, alors il semble que vous ayez une politique interdomaine sur votre chemin ...