1.AJAX(Asynchronous(异步的) JavaScript And Xml)
问题:为什么使用AJAX?
无刷新:不刷新整个页面,只刷新局部。
无刷新好处:
只更新部分页面,有效利用带宽。
提供连续的用户体验。
提供类似C/S的交互效果,操作更加方便。
传统web与AJAXD 的差异:(三个方向)
AJAX工作流程:
至此,应该初步了解AJAX , 那么是如何实现编写一个AJAX呢?
XMLHttpRequest 核心部分
@WebServlet("/RegController")
public class RegController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username") ;
PrintWriter out = resp.getWriter() ;
if (username.equals("admin")){
result.setCode(10000);
result.setMsg("用户已存在!");
}else{
out.println("用户名不存在,可以注册");
}
}
}
<script type="text/javascript">
function show_msg(){
var username = document.getElementById("username").value ;
var xhr = new XMLHttpRequest() ;
xhr.open("get" , "http://localhost/RegController?username="+username ) ;
xhr.send() ;
xhr.onreadystatechange = function (){
if (xhr.readyState == 4 && xhr.status == 200){
alert(xhr.responseText) ;
}
}
}
})
})
</script>
如此复杂的AJAX,编写一个还好,如果一个页面有若干个AJAX请求呢?那么会首先想到复用,来代替重复的编写。这是jQuer已经帮我们封装完毕,我们直接拿来使用即可。也可以看一个小框架。
2.jQuery AJAX API
第一种:基本使用
以下俩种,专门针对get和post俩种进行快速访问,但是有一个缺点,就是不能在追加样式。