2012-06-13 5 views
7

¿Cómo puedo obtener el html de un determinado elemento html que se encuentra en un sitio diferente?¿Cómo obtener el html de un div de una página diferente con AJAX?

Solución:

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

Por "otra página", ¿se refiere a una de sus propias páginas? ¿O una página de un sitio web completamente diferente? – kevin628

+0

muy poco probable ... a menos que sea la misma aplicación/sitio esto podría ser imposible por obvias razones de seguridad –

+1

[¿Qué has probado?] (Http://whathaveyoutried.com) – sczizzo

Respuesta

4

Realizar una llamada ajax a un php o cualquier otro archivo, utilice CURL u otras herramientas para agarrar la página que desea y extraer el div y el eco y luego cuando vuelvas el html a ponerlo dentro de una div en su página

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

¿Por qué utilizar un código tan largo cuando se puede hacer con el código de una sola línea en jQuery – gopi1410

+0

simplemente haciéndole saber todas sus opciones? aprender curl es ciertamente útil en muchos casos. – user1415567

+0

esto no funciona –

13

Puede utilizar $.load con un contenedor anexa

El método .load(), a diferencia de $ .get(), nos permite especificar una parte de la documento remoto para ser insertado.

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

Aquí van:

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

Para la clase:

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

Necesita un espacio en la cadena de url para el selector. – Mathletics

+0

@Mathletics. Puedes arreglarlo fácilmente para él. – gdoron

+0

oops lo había perdido @gdoron gracias :) – gopi1410

0

también se puede utilizar como este.

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

Una forma es:

  • enviar una llamada ajax a un script del lado del servidor

  • este script va a buscar la página HTML remoto y devuelve como respuesta. (generalmente se prefiere JSON)

  • su página finalmente obtiene acceso al html.

Cuestiones relacionadas