有没有办法从 Shopify 中的序列化添加到购物车表单中获取变体 ID

Is there a way to get the variant id from serialized Add to Cart Form in Shopify

目前我使用的是标准 POST /cart/add.js, Ajax 调用格式,我在其中设置 data: this.$form.serialize。当我控制台记录我的序列化“添加到购物车”表单时,我看到整个表单输出的 ID 我希望单独从表单中获取 variant id。有没有办法提取这条信息?

标准表单提交使用输入或 select,其中 name="id" 是提交的变体 ID。

因此您可以从该输入中获取 variant.id 目标,或者您可以拆分序列化输出并从那里获取 ID。

您可以像这样定位它,例如:document.querySelector('[name="id"]').value

或者,如果您想从序列化输出中获取它,则必须稍微拆分字符串才能获得名称:

var name = this.$form.serialize()
  .map(item => item.split('='))
  .reduce((result, item) => { result[item[0]] = item[1]; return result; }, {})
  .name