2012-05-17 18 views
8

Estoy usando la siguiente secuencia de comandos para cargar algunas publicaciones de Wordpress. Lamentablemente, esto reemplaza mi contenido y me gustaría agregarlo al contenido existente.JQuery Adjuntar AJAX

¿Cuál es su sugerencia de agregar utilizando la llamada AJAX.

$('#load-posts a').click(function() { 
    if(pageNum <= max) { 
     $('#content').load(nextLink + ' article', 
      function() {    
       // Update page number and nextLink. 
       // Update the button message.     
       } 
      } 
     );   
    } 
}); 

Gracias carga

Respuesta

11

reemplaza el contenido de la matriz. Una forma de hacerlo es cargar contenido en un nuevo div y agregarlo al elemento.

$("<div>").load(nextLink + ' article', function() { 
    $("#content").append($(this).html()); 
}); 
17

load() reemplace el contenido, pero es básicamente un atajo para $ .get, a fin de utilizar en su lugar.

$('#load-posts a').click(function() { 
    if(pageNum <= max) { 
     $.get(nextLink + ' article', function(data) { 
      $('#content').append(data); 
     }); 
    } 
}); 

Si filtra elementos específicos con carga(), tendrá que hacerlo usted mismo.

1
if(pageNum <= max) { 
     $('body').append($('<div id="hiddenContainer" style="display:none"></div>')); // a hidden container to store response 
     $('#hiddenContainer').load(nextLink + ' article', 
      function() {    
       $('#content').append($('#hiddenContainer').html());     
       } 
      } 
     );   
    } 
2

Usaría el método getJson para obtener una respuesta JSON donde tengo 3 partes. uno para el contenido, otro para NextLink y Third para PateNumber. Luego leeré el resultado de Json y lo usaré en el lugar relevante.

Puede devolver una JSON como esto

{ 
    "Content": "<p>Some New Content</p>", 
    "NextLink": "page.php?no=34", 
    "PageNumber": "34" 
} 

y en su getJSON, puede leer los artículos y utilizarlo

$('#load-posts a').click(function() { 
    if(pageNum <= max) { 
     $.getJSON(nextLink,function(jSonResult){   
      $('#content').append(jSonResult.Content); 
      $("#nextLink").html(jSonResult.NextLink); 
      $("#pageNumber").html(jSonResult.PageNumber); 
     });   
    } 
}); 
1

Personalmente utilizaría $.get()

$('#load-posts a').click(function() { 
    if(pageNum <= max) { 
     var nextArticles = $.get(nextLink + ' article') 

     nextArticles.success(function() { 
      // Update page number and nextLink. 
      // Update the button message. 
     }; 
    } 
}); 
1

Por lo que sueles, solo quieres agregar un div con nueva información de la publicación a un al listos div existentes como el código HTML siguiente:

<div id="Posts"> 
    <!-- post --> 
    <!-- post --> 
    <!-- post --> 
</div> 

Simplemente puede hacer:

jQuery('#Posts').append(jQuery('<div>').load(...));