为了账号安全,请及时绑定邮箱和手机立即绑定

显示来自 JSON API 响应的帖子列表

显示来自 JSON API 响应的帖子列表

慕丝7291255 2022-10-27 15:38:00
我有以下 JSON{   "posts":[      {         "id":"5efb6946eab44526aecc0aaf",         "title":"post 2Test",         "slug":"post-2test",         "html":"<p>Test post 2... Testing 123 testing 123</p>",         "feature_image":null,         "excerpt": "Test post 1"      },      {         "id":"5efb6936eab44526aecc0aa9",         "title":"Test Post",         "slug":"test-post",         "html":"<p>Test post one... Testing 123</p>",         "feature_image":null,       "excerpt": "Test post 2"      }   ],   "meta":{      "pagination":{         "page":1,         "limit":15,         "pages":1,         "total":2,         "next":null,         "prev":null      }   }}我将如何创建一个列出所有当前帖子和任何添加的部分?例如 HTML<div class="container">    <div class="post"> <!-- this would contain the information from the most recent post -->       <img src={featured_img} alt="featured img">       <h2>{title}</h2>       <p>{excerpt}</p>    </div>    <div class="post"> <!-- this would contain the info of the second most recent post -->       <img src={featured_img} alt="featured img">       <h2>{title}</h2>       <p>{excerpt}</p>    </div></div>我的猜测是某种 for 循环,但我不太确定如何编写它。
查看完整描述

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

您可以使用for循环遍历您的json数据并获取特定键的值并将生成的值分配html给您的div.


演示代码:


//your response

var response = {

  "posts": [{

      "id": "5efb6946eab44526aecc0aaf",

      "title": "post 2Test",

      "slug": "post-2test",

      "html": "<p>Test post 2... Testing 123 testing 123</p>",

      "feature_image": null,

      "excerpt": "Test post 1"

    },

    {

      "id": "5efb6936eab44526aecc0aa9",

      "title": "Test Post",

      "slug": "test-post",

      "html": "<p>Test post one... Testing 123</p>",

      "feature_image": null,

      "excerpt": "Test post 2"

    }

  ],

  "meta": {

    "pagination": {

      "page": 1,

      "limit": 15,

      "pages": 1,

      "total": 2,

      "next": null,

      "prev": null

    }

  }

};


 

  var html = '';

  //looping through posts

 

  for(var i= 0 ; i<response.posts.length ;i++ ){

  //get values

   html += '<div class="post" data-value='+response.posts[i].id+'><img src='+response.posts[i].feature_image+' alt="featured img"><h2>'+response.posts[i].title+'</h2><p>'+response.posts[i].excerpt+'</p></div>';

 

  }

  //add to div

  document.getElementById("data").innerHTML= html;

<div class="container" id="data">

  <!--here data will come-->

</div>


查看完整回答
反对 回复 2022-10-27
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

我们可以通过几个步骤来实现,

  1. 首先,将 id 添加到 div。

  2. 现在添加将调用 javascript 代码的脚本标记。(如果您的框架处理它,我不知道您使用的是哪个框架,然后忽略此步骤)。

  3. 现在用于Json.parse(response)在您的 javascript 文件中转换为 JavaScript 对象,现在使用过滤器/类似功能,并找到最近的一篇和剩余的帖子。

  4. 现在使用文档对象通过使用您在第 1 点中创建的唯一 ID 来调用您的 div,现在在那里分配/创建您的 Html。

希望这可以帮助。


查看完整回答
反对 回复 2022-10-27
  • 2 回答
  • 0 关注
  • 70 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信