webentwicklung-frage-antwort-db.com.de

jQuery lädt externe Seite

Kann eine einzelne Seite von einer externen Website geladen werden?

Ich versuche, eine einzelne Seite aufzurufen, aber ich kann sie nicht zum Laufen bringen

$("#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);
   }
 });

Hilfe wäre sehr dankbar

11
ngplayground

Sie haben eine Cross-Domain-Richtlinie. issue cause AJAX (aus Sicherheitsgründen) lässt Sie keine Inhalte von einer Seite abrufen, die sich nicht in derselben Domain befindet.

Um es loszuwerden und deine Aufgabe zu erfüllen:
Sie benötigen eine PHP -Datei, die Sie mit dieser Zeile von PHP grabber.php aufrufen können:

<?php echo file_get_contents($_GET['url']); ?>

Dann in Ihrer HTML-Datei (oder was auch immer die Datei gerade mag :)

<!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>

Warum funktioniert das?

  • jetzt sendet AJAX eine einfache GET-Anfrage an die grabber.php-Seite,
  • grabber.php gibt den gewünschten Inhalt wieder
  • der Inhalt befindet sich jetzt auf Ihrer (Server-) Domain!
  • und AJAX ist gerne für Sie da :)
21
Roko C. Buljan

Versuchen Sie, eine Seite in einer anderen Domain zu laden?

Wenn ja, dann scheint es, als hätten Sie eine domänenübergreifende Richtlinie auf dem Weg ...

0
andri