Ele*_*ant 5 ajax jquery shopify
我正在尝试在shopify上构建一个简单的解决方案,我点击"查看更多"链接,我的ajax将从下一页提取数据并将其显示在我当前的收藏页面而不更改页面.
我有这个工作到下面最简单的方法,但是我正在尝试更改这个,所以在每个页面之后它将为下一个请求添加另一个div.它应该是这样的:
我希望这是有道理的.我假设我需要实现某种计数器并使用该计数器作为我的ajax查询中的页码,但我不确定如何做到这一点以及在每次查询后创建一个新的div,其中将插入下一个数据.
这是我的代码到目前为止:
$(document).ready(function() {
$('#more p a').click(function(e) {
e.preventDefault();
$.ajax({
url: 'https://url.myshopify.com/collections/all?page=2',
type:'GET',
success: function(data){
$('#ajax-content-2').html($(data).find('.collection-wrapper').html());
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
小智 2
好吧,因为我没有真正得到任何回应,所以我只是写了自己的,它非常基本,但它有效。
jQuery:
$(document).ready(function() {
var counter = 2
var pages = Math.ceil('{{ collection.all_products_count }}' / {{ settings.products_per_page }});
var maxCount = pages + 1;
console.log("Pages Found: " + pages);
console.log("Collection Title: {{ collection.handle }}");
$('#more p a').click(function(e) {
e.preventDefault();
var getUrl = "site.myshopify.com/collections/{{ collection.handle }}?page="+counter;
$.ajax({
url: getUrl,
type:'GET',
success: function(data){
$("#ajax-content-"+counter).html($(data).find('.collection-wrapper').html());
counter++;
var oldCount = counter - 1;
$("#ajax-content-"+oldCount).append("<div id='ajax-content-"+counter+"'></div>");
if(counter == maxCount ) {
$('#more').empty();
}
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
如果您在这里发现任何可以改进的地方,请告诉我:)
归档时间: |
|
查看次数: |
2227 次 |
最近记录: |