bug描述
.$ajax向控制層請求數據,控制層能夠獲取數據,在返回時出錯,網頁調試提示錯誤代碼500.
前端代碼
<script type="text/javascript">
function getHotTopic() {
$.ajax({
type:"get",
url:"${pageContext.request.contextPath}/topic/getHotTopic.do?size=2",
success:function (data) {
console.log(data);
alert("獲取熱點信息成功"+data);
location.reload();
},
error:function () {
alert("獲取熱點信息失敗")
}
})
}
</script>
控制層代碼
@RequestMapping("/getHotTopic")
@ResponseBody
public Map<String, Object> getHotTopic(Integer size){
Map<String, Object> result = new HashMap<>();
List<Topic> hotTopics = topicService.getHotTopic(size);
System.out.println(hotTopics);
result.put("hotTopics", hotTopics);
return result;
}
問題解決
在spring-mvc.xml中插入如下聲明:
<mvc:annotation-driven/>
<mvc:default-servlet-handler/>
在pom.xml中導入如下依賴:
<!-- JSON配置 -->
<!-- JSON -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
重新進行訪問,可以看到問題得到解決,獲得了後端的數據