回顾Ajax
最近在学习后端中间件,对前端知识有所遗忘,所以今天来复习以下使用AJax实现简单的前后端分离。
又想起了被跨域折腾疯的日子
使用Ajax可以实现简单的前后端分离,下面给出一个简单的小demo来复习一下Ajax的简单使用。
需求:有一个文本框,在鼠标对其失去焦点后判断文本框中的值是否与某个值相等
步骤
- 将文本框接收的值返回给服务器
- 服务器对值进行验证得出结果
- 将结果发送回前端
因为需要交互,所以控制器需要两个参数,一个是响应参数,一个是字符串参数
@Controller
@RequestMapping("/ajax")
public class AjaxController {
@RequestMapping(value = "/a1",method = {RequestMethod.POST})
public void ajax(String name, HttpServletResponse httpServletResponse) throws IOException {
if("admin".equals(name)){
httpServletResponse.getWriter().print(true);
}else{
httpServletResponse.getWriter().print(false);
}
}
需要进行前后端分离,所以前端使用html进行编写。需要引入JQuery。在Ajaxd中需要设置一些参数,我这里设置了请求方式,url等等,如果需要配置跨域,除了在后端中设置注解外,在此处也应该进行配置。
<body>
<script type="text/javascript">
function a1() {
$.ajax({
type:"POST",
url:"http://localhost:8080/ajax/a1",
data: {"name":$("#txtName").val()},
success:function (data,status) {
alert(data);
alert(status);
}
});
}
</script>
<!--失去焦点事件-->
用户名:<input type="text" id="txtName" onblur="a1()">
</body>
结果
试验成功