SpringMVC中ajax的处理
1、 使用HttpServetResponse来处理
Controller
@Controller @RequestMapping("/springmvc") public class AjaxController { @RequestMapping("/ajax") public void ajax(String name, HttpServletResponse resp) throws IOException { resp.setCharacterEncoding("utf-8"); if("yxxy".equals(name)) { resp.getWriter().print("用户名已存在!"); }else { resp.getWriter().print("无人使用,可以注册!"); } } }
Jsp
<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script> <script type="text/javascript"> $(function() { $("#txtName").blur(function() { $.post("springmvc/ajax.do", {'name' : $("#txtName").val()}, function(result) { $("#txtSpan").html(result) }); }); }); </script> 用户名:<input id="txtName" /><span id="txtSpan"></span>
2、 springmvc处理
2.1、导入相关jar包
2.2、在springMVC配置文件中配置json转换器
<!-- 用于将对象转换为JSON --> <bean id="stringConverter" class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=UTF-8</value> </list> </property> </bean> <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="stringConverter"/> <ref bean="jsonConverter"/> </list> </property> </bean>
2.3、Controller
@RequestMapping("/json") @ResponseBody public List<User> json() { List<User> list = new ArrayList<>(); list.add(new User(1, "张三", "111")); list.add(new User(2, "李四", "222")); list.add(new User(3, "王五", "333")); return list; }
2.4、Jsp
<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script> <script type="text/javascript"> $(function() { $("#btn").click(function() { $.post("springmvc/json.do", function(result) { var html = ""; for(var i = 0;i < result.length; i++) { html += "<tr><td>"+result[i].id+"</td><td>"+result[i].name+"</td><td>"+result[i].pwd+"</td></tr>" } $("#content").html(html); }); }); }); </script> <input id="btn" value="获取json数据" type="button"/> <table width="80%" align="center"> <tr> <td>编号</td> <td>姓名</td> <td>密码</td> </tr> <tbody id="content"></tbody> </table>