0

请参阅此链接: 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 我该怎么做?请帮我。

4

1 回答 1

0

您应该使用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

希望你能理解。

于 2013-10-03T19:11:15.723 回答