如何从API点击动态显示JSON数据?

时间:2018-08-28 01:58:30

标签: jquery html json ajax api

我已经从Tumblr API获得了成功解析的数据,直到在正文描述中引入了tags为止。 (包括图片,超链接等)

我实际上要做的是创建博客标题列表。根据单击的标题,动态显示博客描述。我觉得这段代码由于报价问题而中断,但是我不确定如何解决。

HERE IS A CODEPEN 演示完整代码的问题。

这只是部分查看错误:

      //...
      $.each(inner, function(i, obj) {

          title = inner[i].Title
          description = inner[i].Description

     // Source of the error
     // data-description includes an <a> tag that breaks the code
          $('<div class = "title-list" data-title = "<h3>' + title + '</h3>" data-description="' + description  + '">' + title + '</div>').appendTo(monthblogList)

        })
      })
    });

    function showBlogEntry(element){
      var t = $(element).data('title')
      var ds = $(element).data('description')

      blogEntry.empty()

      $(t).appendTo(blogEntry)
      $(ds).appendTo(blogEntry)
    }
}

同样,我建议您查看CODEPEN以获得更好的理解。我在第一篇博客文章中添加了一个a标签,以显示该问题。 Here是博客文章的原始内容。

这是我想到的一种解决方案:

if ($(description).has("a")) {
  // do something
}

但仍不确定如何解决此问题。

我需要从titledescription变量中获取信息,并在单击时根据用户单击的标题显示其数据。尽管这可能不是最好的解决方案,但这是一个解决方案。如果除了data标签之外,还有其他解决方案,那将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:2)

代替将数据存储在HTMLDivElement的“ data-”属性中,只需在JavaScript中保留对来自API的JSON响应的引用,并存储 index id 在“数据-”属性中(可能是“数据后ID”)

int i = 0;
while (i++ < 4046)
  printf("%x", ptr[i]);