ajax - Shopify:如何呈现推荐的产品?
问题描述
我正在尝试使用 Shopify Ajax API 在购物车中获取推荐产品。我能够获得推荐产品的 json,但不能获得部分渲染。
脚本(注section_id
):
jQuery.getJSON('/cart.js', function(cart) {
// first recommendation
jQuery.getJSON("/recommendations/products.json?product_id=" + cart.items[0].product_id + "&limit=6§ion_id=recommended_first", function(
response
) {
var recommendedProducts = response.products;
}
});
})
的HTML:
<div id="recommended_first" class="upsell_product">
</div>
我在控制台中收到一些消息:
错误:ShopifyAnalytics.meta.page.pageType 为空:未定义
已启动回退逻辑
我错过了什么?我在 Shopify 文档中没有找到任何示例。
非常感谢!
解决方案
您的代码将不起作用,因为您在第 7 行有一个额外的内容。假设购物车请求返回有效数据,以下代码应该可以工作(在使用变量}
之前检查购物车请求是否返回任何项目也是一个好主意):cart.items
jQuery.getJSON('/cart.js', function(cart) {
jQuery.getJSON("/recommendations/products.json?product_id=" + cart?.items?[0]?.product_id + "&limit=6§ion_id=recommended_first", function(response) {
var recommendedProducts = response.products;
var recommendedProductsHTML = "";
for (i = 0; i < recommendedProducts.length; i++) {
recommendedProductsHTML += `<div>${recommendedProducts[i].title}</div>`;
}
$("#recommended_first").html(recommendedProductsHTML);
});
});
推荐阅读
- apache-spark - 未能提交火花作业
- c++ - c ++链接错误与类中的const成员函数
- ruby-on-rails - 如何在特定点的 X 轴上使用虾/导轨绘制水平线
- laravel - 如何在 Laravel Rule 中传递参数?
- c# - C#,索引超出了数组的范围-冒泡排序
- mongodb - 使用 mongoose 更新 mongodb 中数据的最佳方法
- android - Marshmallow(API 级别 23)Firebase 消息传递不起作用
- jakarta-ee - 无法从外部 jar 引用 JSF 托管 bean
- ajax - 控制器中的参数始终为空
- c# - proxmox中使用Api创建VM的参数是什么