You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mustache JS无法渲染JSON数据,请求技术排查指导

解决Mustache JS渲染无内容的问题

嘿,我帮你找到了问题所在!你调用的这个国家数据接口返回的是一个包含单个对象的数组,但你的代码直接把整个数组传给了Mustache的render方法,模板里的{{name}}、{{capital}}这些字段根本找不到对应的值,所以渲染出来是空的。

具体修改步骤:

只需要在渲染的时候,把数组里的第一个元素传进去就行,因为接口返回的结果里只有我们需要的那一个国家对象:

$(function () {
  $("#btn").on('click', function () {
    $.getJSON('https://restcountries.eu/rest/v2/name/aruba?fullText=true', function (data) {
      var template = $("#mp_template").html();
      // 重点:取数组的第一个元素作为渲染数据
      var text = Mustache.render(template, data[0]);
      console.log(data[0]); // 可以在控制台查看单个国家的完整数据结构
      $("#mypanel").html(text);
    });
  });
});

额外验证小提示:

你之前打印的data是一个数组,展开后能看到里面的[0]索引下才是包含name、capital、flag这些属性的对象,所以直接用data肯定匹配不上模板里的变量。

另外你的模板写法是对的,{{{ flag }}}用三重大括号来渲染未转义的HTML(img的src属性),这个没问题。

内容的提问来源于stack exchange,提问作者Slyper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:45:11