spring mvc 和 AJAX怎么相互调用
时间: 2023-09-27 12:06:50 浏览: 64
Spring MVC 和 AJAX 可以相互调用,具体步骤如下:
1. 在 Spring MVC 的控制器中定义一个处理 AJAX 请求的方法,使用 @ResponseBody 注解将方法返回值转化为 JSON 格式。
2. 在前端页面中使用 AJAX 发送请求到该方法。
3. 接收到请求后,Spring MVC 控制器处理请求并返回 JSON 数据。
4. 在前端页面中使用 JavaScript 解析 JSON 数据,完成页面的渲染和交互。
具体实现方式可以参考以下代码:
1. Spring MVC 控制器中的方法:
```
@RequestMapping(value = "/ajax", method = RequestMethod.GET)
@ResponseBody
public Map<String, Object> handleAjaxRequest() {
Map<String, Object> result = new HashMap<>();
// 处理 AJAX 请求,返回数据
result.put("key1", "value1");
result.put("key2", "value2");
return result;
}
```
2. 前端页面中的 AJAX 请求:
```
$.ajax({
url: "/ajax",
type: "GET",
dataType: "json",
success: function(data) {
// 处理返回的 JSON 数据
console.log(data);
},
error: function(xhr, status, error) {
// 处理请求失败的情况
console.log("AJAX request failed: " + status + ", " + error);
}
});
```
注意,在 Spring MVC 的配置文件中,需要添加以下配置,以支持将方法返回值转化为 JSON 格式:
```
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
```