gpt4 book ai didi

javascript - 很难从ajax发送json数组来查看spring mvc

转载 作者:行者123 更新时间:2023-11-30 19:57:12 25 4
gpt4 key购买 nike

我用 ajax 消费了来自 Controller 的 json 响应,如下所示:

Controller :

@GetMapping("/articles/json")
@ResponseBody
public List<Article> viewArticle(Map<String, Object> viewBag) {
Iterable<Article> articles = articleRepository.findAll();
for (Article article:articles) {
articles1.add(article);
}
return articles1;
}
@GetMapping("/articles/ajax")
public String viewArticlesAjax(Map<String, Object> viewBag) {

return "articles/list-ajax";

}

articles.js 看起来像这样

(function () {
if($('.page-articles-ajax').length > 0){
console.log("Yea Im working",$.get);
$.get( "/articles/json", function( data ) {
console.log('got data',data);
if(data && data.length){
for(var i = 0;i < data.length; i++){
var article = data[i];
console.log("article",article);
}
}
});
}

})();

list-ajax.html 看起来像这样:

<html xmlns:th="http://www.thymeleaf.org"
th:replace="~{fragments/layout :: layout (~{::body},'owners')}">

<body>

<h1>Articles</h1>
<div class="page-articles-ajax">



</div>

</body>
</html>

在 articles/json 中,返回 json 数组 ( here it is )。我想以表格格式显示 json 响应,其中列为“标题”、“描述”和“作者”。作为 Spring 和 MVC 的新手,我遇到了困难。

有什么帮助吗?

最佳答案

我建议您使用名为 DataTablesjQuery 插件.这是一个稳定的工具,我有在生产中使用的经验。

你需要做这样的事情:

<div class="page-articles-ajax">
<table id="articleTable">
</table>
</div>

js 中:

$(function() {
$('#articleTable').DataTable({
ajax: '/articles/json'
});
});

DataTables 是一个高度可定制的插件。参见 it's ajax manual了解更多。

如果你不想使用这个插件,你需要在得到后端的响应数据后,用JavaScript建表。您可以使用 jQuery 强大的 API 轻松实现这一目标。

建议和注意事项:

=> 改为

@GetMapping(value = "/articles/json", produces = MediaType.APPLICATION_JSON_VALUE)

=> produceconsume 这些术语是从 API 端点/后端的 Angular 使用的。

关于javascript - 很难从ajax发送json数组来查看spring mvc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53864116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com