【发布时间】:2020-10-05 05:43:50
【问题描述】:
我正在努力从 API 中检索数据。我正在设计我的代码以对 API 进行多个查询,然后将它们添加到我的 HTML 中的运行结果列表中。由于API返回的数据,没有办法一次性获取全部然后切片,我需要多次获取。
看看这段代码:
function renderResults(results) {
return $('#results-section').html(genResults(results));
}
函数 renderResults() 在我的 API 调用中被调用
.fetch(URL)
.then([code that is working properly])
.then(call renderResults() here)
我已经在控制台记录了我的 API 结果并在 Postman 中测试了 API 调用,因此我知道它的构造正确 - 只是试图提供正确的上下文。
回顾一下,results 是来自 API 的数据,results-section 是我的 HTML 中结果容器的标记方式,genResults(results) 函数创建模板 HTML,其中包含来自 results 的值。
当您使用.html 时,它会覆盖之前指示的部分中的所有内容。我正在寻找一种方法,将genResults(results) 生成的模板 HTML 添加到我已经 ID 为 results-section 的容器中的任何 HTML,而不是替换那里的内容。我试过链接.append(),但似乎找不到成功的方法。
显而易见的解决方案是让 for 循环根据需要创建尽可能多的结果子部分,但问题是在从 API 获得结果之前我不知道需要多少部分。
有什么想法吗?
更新:
Souvik Ghosh 的回答奏效了。我试图将.append() 链接到.html(),但我没有意识到它实际上取代了它。
$( "#results-section" ).append( "Your data from the last API call" );
【问题讨论】:
-
我建议您阅读 jQuery 方法的顶级列表:api.jquery.com。其中大多数是不言自明的。在这种情况下,您需要api.jquery.com/append
标签: javascript html jquery dom