0

我是 cs cart 4.2.4 的新手,在通过 AJAX 在主页上加载产品以优化网站速度时遇到了一些问题。我在主页上有 5 个标签。我想通过 Ajax 加载它们。为此,我创建了一个包含所有产品选项卡的自定义页面,在主页上我添加了一个带有 smarty 的自定义块,并通过 Ajax 调用该页面。现在页面已成功加载到主页上,但是当我单击添加到愿望清单按钮时,事件运行两次。所以每次当我点击愿望清单按钮时,它都会显示一条消息,表明产品已经存在。实际上,这个按钮一键运行两次。

我在自定义块上的代码是

{literal}
<script>
var count = 1; 
$(window).unbind('scroll');
$(window).scroll(function(){
if(count==1){
$('.span16.homepg-product-block').html("<img class='loadimg' src='images/common_imgs/loading.gif' style='margin:15px auto 25px 43%'>");

$.ajax({
    url:'/ajax-products',
        type:'GET,
        success: function(data){
        $('.span16.homepg-product-block').html(data);

        }
});}
count++;
});

</script>
{/literal}
4

2 回答 2

0

我们建议您使用内置函数来发出 ajax 请求。他们很可能会解决问题。例如

function fn_change_tab(obj_id, id, option_id)
{
    var $ = Tygh.$;
    var url = fn_url('products.get_tab_content);

    $.ceAjax('request', url, {
        result_ids: 'my_block_content',
        caching: true,
        force_exec: true,
        method: 'get'
    });
}

您的模板和返回的内容应包含以下格式的 div:

<div id="my_block_content">
    YOUR CONTENT HERE
<!--my_block_content--></div>

只有此内容会被更新

于 2015-08-03T12:16:50.047 回答
0

我有一种新方法可以缩小页面大小。我只是使用延迟加载 jquery 插件来加载所有图像。

于 2015-08-05T04:45:49.187 回答