解析模板的Spring Boot ajax错误
Posted
技术标签:
【中文标题】解析模板的Spring Boot ajax错误【英文标题】:Spring boot ajax error with resolving template 【发布时间】:2019-11-29 05:25:51 【问题描述】:我的 index.html
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
(js and css)
</head>
<body>
<div>
<button name="sendPaperByMessage" th:if="$paper.issend ne 'sended'" th:paperId="$paper.paperid">sendMessage</button>
</div>
<script th:inline="javascript">
$("button[name='sendPaperByMessage']").click(function ()
var paperId = $(this).attr("paperId");
$.ajax(
url: "/api/sendMessage",
type: "post",
data: "paperId": paperId,
success: function (data)
console.log("success");
)
);
</script>
</body>
</html>
和我的控制器:
@PostMapping("/api/sendMessage")
public Object sendMessage(@RequestParam("paperId") String paperId)
// paperService.sendMessage(paperId);
Map map = new HashMap();
map.put("Message", "success");
return map;
我省略了一些代码并做了一个演示。 响应是错误解析模板 [api/sendMessage],模板可能不存在或可能无法被任何已配置的模板解析器访问”
【问题讨论】:
检查this 可能对你有帮助。 【参考方案1】:默认情况下,控制器返回的值由 spring 解析。
为了防止这种情况并以 json 格式返回您的对象,请在您的方法上方使用 @ResponseBody
或使用 RestController
而不是 Controller
。
但请注意,在休息控制器中,每个响应都被认为不是模板,因此不会被解析。
【讨论】:
以上是关于解析模板的Spring Boot ajax错误的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 的 thymeleaf 自动配置问题试图解决 rest 应用程序的错误模板
模板解析时出错。Spring boot 和 Thymeleaf
从 Ajax 调用 Spring Boot Rest API 时出现 CORS 错误
Ajax 调用在 Spring Boot 中返回值为 JSONArray.fromObject(data) 时给出错误 500
Spring Security UserNotFoundException 在带有 JSP 视图模板的 Spring Boot 中不显示错误消息