1.Ajax
Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。
Ajax = 异步 JavaScript 和 XML 或者是 HTML(标准通用标记语言的子集)。
ajax() 方法通过 HTTP 请求加载远程数据。
该方法是 jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get,
.
p
o
s
t
等
。
.post 等。
.post等。.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。
最简单的情况下,$.ajax() 可以不带任何参数直接使用。
2.Ajax的优势:
(1)异步加载数据,无需切换页面
(2)更佳的用户体验:局部刷新、及时验证、操作步骤简化等
(3)节省流量
(4)JS控制数据的加载,更加灵活多用
3.案例
import com.srzx.sms.service.impl.AdminServiceImpl;
import com.srzx.sms.service.inte.AdminServiceInte;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/register")
public class RegisterServlet extends HttpServlet {
AdminServiceInte asi = new AdminServiceImpl();
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String action = req.getParameter("a");
if("ui".equals(action)){
req.getRequestDispatcher("/WEB-INF/sms/register.jsp").forward(req,resp);
}
//ajax 检查账号是否已存在
if("check".equals(action)){
String account = req.getParameter("account");
boolean flag = asi.checkAccount(account);
PrintWriter pw = resp.getWriter();
//resp.setContentType("application/json");
if(flag){
pw.print("{'status':1,'msg':'ok'}");
}else{
pw.print("{'status':2,'msg':'error'}");
}
}
}
}
4.XMLHttpRequest 对象:
- XMLHttpRequest 是 AJAX 的基础
- XMLHttpRequest 术语缩写为XHR,中文可以解释为可扩展超文本传输请求。
- XMLHttpRequest 对象可以在不向服务器提交整个页面的情况下,实现局部更新网页