调用Commerce.js拉取数据返回Meta对象而非预期商品数组是什么原因?
你当前的接口调用是正常的,没有触发错误捕获逻辑,问题出在没有拉取到匹配的商品数据,因此返回结构中缺失data字段、仅保留元信息meta字段。
排查方案
- 后台商品状态检查
Commerce.js的products.list()接口默认仅返回已上架、公开可见的商品,如果你后台还未创建商品,或者创建的商品处于草稿、隐藏状态,就会出现返回结果只有meta的情况。你可以先登录Commerce.js后台确认商品状态。 - 分页参数校验
展开你返回结果里的meta.pagination字段,查看其中的total值:- 如果
total值为0,说明当前确实没有匹配的可返回商品,对应检查商品配置即可 - 如果
total值大于0,说明商品存在但分页参数不匹配,你可以给接口传入显式分页参数拉取数据,示例代码如下:
commerce.products.list({ page: 1, limit: 20 }).then((res) => {console.log("products Data",res);}) - 如果
- 实例初始化配置检查
检查你初始化Commerce实例时使用的公钥,确认和你创建商品的门店公钥完全一致,没有拼写错误、也没有误用其他门店的密钥。 - SDK版本兼容检查
如果你使用的是旧版本的Commerce.js SDK,可能存在返回结构解析异常的bug,可将SDK升级到最新稳定版本后重试。
内容的提问来源于stack exchange,提问作者GouseMohiddin
相关产品推荐
相关产品推荐

