Obtener una página completa usando jQuery

Estoy usando jQuery. Digamos que realizo algunas búsquedas usando:

var acronyms=["fubar","snafu","gnu"];

$.each(acronyms, function(index, element){
  $.ajax({
    url: "https://www.domain.com/search?q=" + element,
    success: function() {
    }
  });
});​

¿Hay alguna forma de que guarde el contenido de la página resultante de modo que pueda manipular los datos después? Se acepta el contenido completo de la página o el contenido de la página más html.

preguntado el 21 de mayo de 12 a las 19:05

Teniendo en cuenta los comentarios sobre la respuesta de @thenetimp, ¿puede detallar lo que llama "guardar" y "manipular"? ¿Qué es lo que realmente quiere hacer con la página devuelta? -

Tenía la intención de escanear el documento en busca de una etiqueta y un valor html en particular, digamos " xyz "-

La respuesta de thenetimp es probablemente lo que está buscando, puede usar .load() para cargar incluso un fragmento de una página... lo que significa que jQuery puede escanear por usted :) -

4 Respuestas

Puede recuperar el HTML de cada página, y luego diseccionarlo y agregarlo, y hacer lo que quiera con él.

var acronyms = ["fubar","snafu","gnu"];

$.each(acronyms, function(index, element) {
    $.ajax({
        url: "https://www.domain.com/search?q=" + element,
        dataType: "html",
        success: function(html) {
            var $container = $("#container", html); // look for a specific element in the returned HTML
            $("body").append($container);
        }
    });
});​

contestado el 21 de mayo de 12 a las 19:05

Puede recuperar todo o parte de un documento. Los documentos jQuery tienen ejemplos.

contestado el 21 de mayo de 12 a las 19:05

.load() está destinado a cargar HTML en un elemento DOM, no estoy seguro de que esto sea lo que se espera aquí: Lanza Olivier

Depende de lo que quiera decir con guardar, supongo. ¿Quiere realmente guardarlo en el servidor, o simplemente mostrarlo en el documento? - elnetimp

sí, eso es lo que pensé yo también. - Lanza Olivier

Perdón por no aclarar, quise mostrarlo en el documento. - derek8

Tratar:

var acronyms=["fubar","snafu","gnu"];

$.each(acronyms, function(index, element){
  $.get('http://www.domain.com/search', {q: element}, function(response){

     //add `response` to some #output div 
     $('#output').html(response);

   });
});​

contestado el 21 de mayo de 12 a las 19:05

$('*').html(); debería obtener el HTML de toda la página.

contestado el 21 de mayo de 12 a las 19:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.