页面加载后通过AJAX调用module_data信息

时间:2018-02-05 12:37:18

标签: javascript json ajax business-catalyst

在特定布局上我想使用Poplets,但它们不可用。 目前我使用module_data将它们拉进去,但它对网站的影响太大了。 我只需要前2个Poplet图像(如果一个图像与 largeImage 相同)。

{module_data resource="products" resourceId="{{id}}" version="v3" fields="id,poplets" skip="0" limit="5" collection="prodPoplets"}
{% assign popletUrls = prodPoplets.poplets | split: ";" -%}
{% capture BackPopletUrl -%}
{% if popletUrls[0] != "" -%}
{% if largeImageUrl == popletUrls[0] -%}{{popletUrls[1]}}{% else -%}{{popletUrls[0]}}{% endif -%}
{% endif -%}
{% endcapture -%}

我想在加载页面后加载前2个popletUrls,因为无论如何它都显示在悬停状态。

我将使用它来加速有问题的网站,只是想要掌握这个。

我正在使用Business Catalyst - 我在文档中找到了这个,但我仍然不确定我应该做什么 -  https://docs.worldsecuresystems.com/developers/liquid/consuming-apis-in-the-front-end-using-module_data#TheResourceparameter

2 个答案:

答案 0 :(得分:0)

您可以像这样执行ajax请求,而不是调用module_data:

    var request = $.ajax({
        url: "/webresources/api/v3/sites/current/products?fields=id,poplets&skip=0&limit=10&order=id",
        type: "GET",
        contentType: "application/json",
        headers: {
            "Authorization": BCAPI.Helper.Site.getAccessToken()
        }
    });
    request.done(function(data) {
        console.log(data);
    //here you access all your data

    })
    request.fail(function(jqXHR) {
        console.log("Request failed.");
        console.log("Error code: " + jqXHR.status);
        console.log("Error text: " + jqXHR.statusText);
        console.log("Response text: " + jqXHR.responseText);
    })

确保您已授权API调用,如此处的Business Catalyst文档所示 -  Pagination

答案 1 :(得分:0)

您可以指定仅拉取前两个poplet。您的module_data标记为{module_data resource="products" resourceId="{{id}}" version="v3" fields="id, popletImage1, popletImage2" skip="0" limit="5" collection="prodPoplets"}