2012-06-13 6 views
7

Jak uzyskać kod HTML jakiegoś elementu HTML, który znajduje się w innej witrynie?Jak uzyskać kod HTML elementu div z innej strony za pomocą AJAX?

Rozwiązanie:

$.ajax({ 
url: 'somefile.html', 
success: function(data) { 
    data=$(data).find('div#id'); 
    $('#mydiv').html(data); 
    alert('Done.'); 
} 
}); 
+0

Przez "inną stronę" masz na myśli jedną ze swoich stron? Lub stronę z zupełnie innej strony internetowej? – kevin628

+0

bardzo mało prawdopodobne ... chyba że jest to ta sama aplikacja/strona internetowa może to być niemożliwe z oczywistych względów bezpieczeństwa –

+1

[Co próbowałeś?] (Http://whathaveyoutried.com) – sczizzo

Odpowiedz

4

Nawiązywanie połączenia ajax do php lub innego pliku, użyj pozwijane lub innych narzędzi, aby pobrać stronę, którą chcesz i wyodrębnić div i echo go, a następnie po powrocie html wystarczy umieścić go wewnątrz div na twojej stronie

$.ajax({ 
    url: 'somefile.html', 
    success: function(data) { 
        data=$(data).find('div#id'); 
     $('#mydiv').html(data); 
     alert('Done.'); 
    } 
    }); 
+0

Dlaczego warto używać tak długiego kodu, gdy można to zrobić za pomocą kodu jednoliniowego w jQuery – gopi1410

+0

, informując go o wszystkich dostępnych opcjach. uczenie się zawijania jest z pewnością pomocne w wielu przypadkach. – user1415567

+0

to nie działa –

13

Można użyć $.load z pojemnika załączonym

Sposób .load(), w przeciwieństwie do $ .get(), pozwala nam określić część na zdalny dokument do wstawienia.

$('#result').load('ajax/test.html #container'); 
5

Proszę bardzo:

$('#div_id_in_your_page').load('ajax_page.html #required_div'); 

klasy:

$('.div_class_in_your_page').load('ajax_page.html #required_div'); 
+0

Potrzebujesz spacji w ciągu adresu URL dla selektora. – Mathletics

+0

@Mathletics. Możesz łatwo to dla niego naprawić. – gdoron

+0

oops ominęło to @gdoron dzięki :) – gopi1410

0

można również używać w takim stanie.

$.ajax({ 
    url:"page2.html", 
    success:function(response){ 
     $("#currentDIV").html(response); 
    },error:function(){ 
     alert("error"); 
    } 
}); 
1

Jednym ze sposobów jest:

  • wysłać wywołanie ajax do skryptu po stronie serwera

  • ten skrypt pobiera strony zdalnego i zwraca HTML w odpowiedzi. (zazwyczaj JSON jest preferowany)

  • twoja strona wreszcie uzyskuje dostęp do html.

Powiązane problemy