如何在Shopify商店中使用handlebars.js遍历JSON数组?

工具

我正在向发出GET请求/cart.js它返回以下JSON数据:

{
   "token":"118aa66ff7cc99c7fb4524f07bd305a4",
   "note":null,
   "attributes":{

   },
   "total_price":771,
   "total_weight":0,
   "item_count":3,
   "items":[
      {
         "id":903858951,
         "title":"Aarts Frambozen op siroop",
         "price":211,
         "line_price":211,
         "quantity":1,
         "sku":"wi195688",
         "grams":0,
         "vendor":"Aarts",
         "properties":null,
         "product_id":385866167,
         "variant_id":903858951,
         "gift_card":false,
         "url":"/products/aarts-frambozen-op-siroop?variant=903858951",
         "image":"https://cdn.shopify.com/s/files/1/0656/8697/products/AHI_434d50303234343731_dRevLabel_1_Rendition_LowRes_JPG.jpeg?v=1413443204",
         "handle":"aarts-frambozen-op-siroop",
         "requires_shipping":true
      },
      {
         "id":903852739,
         "title":"AH Aardappelschijfjes spek en ui",
         "price":211,
         "line_price":211,
         "quantity":1,
         "sku":"wi202676",
         "grams":0,
         "vendor":"AH",
         "properties":null,
         "product_id":385862935,
         "variant_id":903852739,
         "gift_card":false,
         "url":"/products/ah-aardappelschijfjes-spek-en-ui?variant=903852739",
         "image":"https://cdn.shopify.com/s/files/1/0656/8697/products/AHI_434d50303038363632_dRevLabel_2_Rendition_LowRes_JPG.jpeg?v=1413442904",
         "handle":"ah-aardappelschijfjes-spek-en-ui",
         "requires_shipping":true
      },
      {
         "id":903852571,
         "title":"AH Aardappelen iets kruimig voordeelzak",
         "price":349,
         "line_price":349,
         "quantity":1,
         "sku":"wi127728",
         "grams":0,
         "vendor":"AH",
         "properties":null,
         "product_id":385862819,
         "variant_id":903852571,
         "gift_card":false,
         "url":"/products/ah-aardappelen-iets-kruimig-voordeelzak?variant=903852571",
         "image":"https://cdn.shopify.com/s/files/1/0656/8697/products/AHI_434d50303233343335_dRevLabel_1_Rendition_LowRes_JPG.jpeg?v=1413442897",
         "handle":"ah-aardappelen-iets-kruimig-voordeelzak",
         "requires_shipping":true
      }
   ],
   "requires_shipping":true
}

我想要做的就是迭代通过items并显示idtitlequantity

这是我正在尝试的方法:

<script class="foobar" charset="utf-8" type="text/x-handlebars-template">
  <div>
    {{#items}}
      <thead>
        <th>Id</th>
        <th>Title</th>
        <th>Qty</th>
      </thead>
      <tbody>
        <tr>
          <td>{{id}}</td>
          <td>{{title}}</td>
          <td>{{quantity}}</td>
        </tr>
      </tbody>
    {{/items}}
  </div>
</script>

<script charset="utf-8">
  var source = $(".foobar").html();
  var template = Handlebars.compile(source);

  var jqxhr = $.getJSON( "/cart.js", function() {
    console.log( "success" );
  })

  $('body').append(template(jqxhr.responseJSON));
</script>

但这返回:

Id Title Qty

没有任何数据。我知道GET请求正在工作,因为会console.log(jqxhr.responseJSON);打印正确的数据。

我做错了什么,接下来我可以尝试什么?

编辑:

我认为我错误地处理了Ajax响应。

JSFiddle:http : //jsfiddle.net/narzero/4fn3f6sg

编辑2:

值得一提的是,我正在Shopify商店上运行代码。

工具

我通过{% raw %} {% endraw %}在handlebar脚本类中添加标签来解决此问题,如下所示:

<script class="foobar" type="text/x-handlebars-template">
  {% raw %}
    <div>
        <thead>
          <th>Id</th>
          <th>Title</th>
          <th>Qty</th>
        </thead>
        <tbody>
        {{#items}}
          <tr>
            <td>{{id}}</td>
            <td>{{title}}</td>
            <td>{{quantity}}</td>
          </tr>
        </tbody>
        {{/items}}
    </div>
  {% endraw %}
</script>

使用{% raw %}时,请确保在这些标签内不会解析任何液体。

感谢您的帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Angular JS从JSON遍历数组

来自分类Dev

如何遍历JSON数组?

来自分类Dev

如何遍历JSON数组?

来自分类Dev

无法使用Ember JS的Handlebars JS遍历嵌套的JSON数组(大写属性)

来自分类Dev

如何遍历/映射作为数组的Js.Json.t?

来自分类Dev

如何在Handlebars循环中使用{{this}}访问数组内容?

来自分类Dev

如何使用Liquid(Shopify)遍历商店的所有产品?

来自分类Dev

如何遍历多维JSON数组?

来自分类Dev

使用jQuery遍历JSON数组

来自分类Dev

使用PHP遍历JSON数组

来自分类Dev

使用 PHP 遍历 JSON 数组

来自分类Dev

如何在JavaScript中遍历JSON数组

来自分类Dev

如何在jQuery中遍历json数组?

来自分类Dev

如何在scala中遍历json数组

来自分类Dev

如何使用React Native遍历JSON数组?

来自分类Dev

如何使用键值数组遍历JSON数据

来自分类Dev

如何使用Handlebars遍历JSON结构

来自分类Dev

如何在 Handlebars 中使用当前上下文的 @key 从其他数组中获取元素?

来自分类Dev

如何在Handlebars.js块中使用和设置自定义变量?

来自分类Dev

如何递归遍历json对象/数组

来自分类Dev

如何遍历JSON数组以获得键的值?

来自分类Dev

如何遍历JSON数组直到满足条件?

来自分类Dev

如何遍历freemarker中的JSON返回数组?

来自分类Dev

使用jQuery遍历JSON数组并输出数据

来自分类Dev

Swift 2.0:使用NSDictionary遍历JSON数组

来自分类Dev

使用空对象循环遍历 Json 数组

来自分类Dev

使用 *ngFor 循环遍历 JSON 数组

来自分类Dev

无法使用 jQuery 遍历 JSON 数组

来自分类Dev

使用angular js遍历字典数组