我正在做从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 append。
$( "#results-section" ).append( "Your data from the last API call" );
阅读更多:https://api.jquery.com/append/