2012-05-17 29 views
8

संलग्न करें मैं कुछ वर्डप्रेस पोस्ट लोड करने के लिए निम्न स्क्रिप्ट का उपयोग कर रहा हूं। दुर्भाग्यवश यह मेरी सामग्री को प्रतिस्थापित करता है और मैं मौजूदा सामग्री में शामिल होना चाहता हूं।JQuery AJAX

AJAX कॉल का उपयोग करके जोड़ने पर आपका सुझाव क्या है।

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

धन्यवाद

उत्तर

11

लोड माता पिता की सामग्री बदल देता है। ऐसा करने का एक तरीका सामग्री को एक नए div में लोड करना और तत्व को जोड़ना है।

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

load() सामग्री को बदल देता है, लेकिन यह मूल रूप से $ .Get के लिए सिर्फ एक शॉर्टकट है, तो बजाय का उपयोग करें।

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

यदि भार() के साथ विशिष्ट तत्वों को फ़िल्टर करना है, तो आपको इसे स्वयं करना होगा।

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

मैं जेएसओएन प्रतिक्रिया प्राप्त करने के लिए getJson विधि का उपयोग करूंगा जहां मेरे पास 3 भाग हैं। एक सामग्री के लिए, दूसरा अगला अगला और PateNumber के लिए तीसरा। फिर मैं जेसन परिणाम पढ़ूंगा और इसे प्रासंगिक स्थान पर उपयोग करूंगा।

आप इस

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

की तरह है और अपने getJSON में एक JSON लौट सकते हैं आप आइटम पढ़ सकते हैं और का उपयोग यह

$('#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

व्यक्तिगत तौर पर मैं प्रयोग करेंगे कर सकते हैं $.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

इसकी आवाज़ से आप सिर्फ एक नई पोस्ट जानकारी के साथ एक div को जोड़ना चाहते हैं नीचे एचटीएमएल तरह तैयार मौजूदा div:

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

आप बस कर सकते हैं:

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