【问题标题】:How to compile handlebarsjs from external json source?如何从外部 json 源编译 handlebarsjs?
【发布时间】:2013-10-04 04:02:41
【问题描述】:

查看此链接:http://jsfiddle.net/dASav/ 这是工作。 我使用内部 JSON 数据,代码如下。

  var data = { blogsTags: [
  {
    "tag": "GovernorBentley",
    "separation_path": "/blogs/byTag/GovernorBentley.html"
  },
  {
    "tag": "Huntsville",
    "separation_path": "/blogs/byTag/Huntsville.html"
  },
  {
    "tag": "Voting Rights",
    "separation_path": "/blogs/byTag/Voting Rights.html"
  }
    ]};

但我想要来自外部课程的 JSON 数据。 JSON数据链接为:http://json.virtuecenter.com/json-data/blogs/tags 我怎样才能做到这一点?请帮帮我。

【问题讨论】:

    标签: javascript jquery json handlebars.js


    【解决方案1】:

    您应该使用jQuery.getJSON(),以便从外部 url 获取 json。

    说明:使用 GET HTTP 从服务器加载 JSON 编码的数据 请求。

    这里与 Handlebars 无关。

    一个简短的例子

    $.getJSON( "http://json.virtuecenter.com/json-data/blogs/tags", function( json ) {
      //Handle it
     });
    

    更新:

    jQuery.getJSON() 强烈推荐在 jQuery 中从外部 url 获取 json 的方法。

    那么如何使用它呢?

    $.getJSON( "http://json.virtuecenter.com/json-data/blogs/tags?callback=?", function( json ) {
    io (json);    //I have used method call for passing parameter
     });
    

    别忘了加?callback=?,这将有助于克服CORS(跨域资源共享)

    然后你最终的代码

    function io (data) {
      var template = document.getElementById("movies-tmp").innerHTML;
    var templateCompile = Handlebars.compile(template);
    var result = templateCompile(data);
    document.body.insertAdjacentHTML("beforeend", result);
    }
    

    这里是JSFiddle

    希望你能理解。

    【讨论】:

    • 感谢您的回答,您能详细解释一下吗?实际上将是什么新代码 var data = { blogsTags: [ { "tag": "GovernorBentley", "separation_path": "/blogs/byTag/GovernorBentley.html" } ]}; var template = document.getElementById("movies-tmp").innerHTML; var templateCompile = Handlebars.compile(template); var 结果 = 模板编译(数据); document.body.insertAdjacentHTML("beforeend", result);
    • @Rousnay 我已经添加了更多解释,希望这会有所帮助。不过很抱歉回复晚了
    • @Rousnay 很高兴帮助你我的朋友 :)
    • 感谢您的快速帮助,您能再帮我一个吗,请检查链接。 stackoverflow.com/questions/19194008/…
    猜你喜欢
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多