java怎么处理ajax?

哥,之前那个问题还是不是很清楚... 哥,之前那个问题还是 不是很清楚 展开
 我来答
yexiangzhaopia
2014-11-04 · TA获得超过112个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:87.5万
展开全部

ajax是一种用来改善用户体验的技术,其实质是利用浏览器内置的一个特殊的对象
 (XMLHttpRequest对象,一般称之为ajax对象)异步地(当ajax对象发请求时,浏览
 器不会销毁当前页面,用户任然可以对当前页面做其他操作)向服务器发送请求,
 服务器送回部分数据(并不是一个完整的页面),利用这些数据更新当前页面。整
 个过程,页面无刷新,不打断用户的操作

编程步骤:
   step1,获得ajax对象
    比如:
      var xhr=getXhr();
   step2,发请求:
    方式一:get请求
      xhr.open('get','check_username.do?username=zs',true);
      请求参数、请求资源路径、是否异步
      注意:
 a,get请求必须将请求参数添加到请求资源路径的后面。
        b,true表示异步请求、false表示同步请求。
 异步请求:发请求时,浏览器不会销毁当前页面,用户可以对当前页面做
    其他操作。
 同步请求:发送请求时,浏览器不会销毁当前页面,用户不可以对当前页面
    做其他操作。
      xhr.onreadystatechange=f1;
      xhr.send(null);
    方式二:post请求
    xhr.open('post','','')
   step3,编写服务器端的处理程序,一般服务器只需要返回部分的数据。
   step4,编写事件处理函数。
 function f1(){
    if(xhr.readyState==4){
      var txt=xhr.responseText;
      使用txt更新当前页面...
    }
 }

 

 

java服务器端处理ajax发送的请求,和处理其他请求是一样的,只是在客户端页面表现的不同,比如:执行页面发送删除请求,服务器端在执行删除后,页面是需要刷新的。

ajax最经典的用法是验证码,注册页面如果因为验证码输入错误要刷新,之前的信息重填,估计用户会崩溃,采用ajax异步发送请求,就不会影响之前填写的信息

追问
哥,在java上怎么接收ajax发的请求啊
追答
你先要知道普通请求服务器端是怎么处理的,其实他们没有任何区别,我拿servlet举例,也可以使用struts2等框架来处理。
你看这句,xhr.open('get','check_username.do?username=zs',true);
里面'check_username.do?username=zs',找你到web项目的web.xml配置文件,内容如下:

RegistServlet
web.RegistServlet

RegistServlet
/check_username

根据配置再找到对应java类看代码
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String username = request.getParameter("username");
if ("张三".equals(username)) {
//out.println("用户名被占用");
out.print("error");
} else {
//out.println("可以使用");
out.print("ok");
}
out.close();
}
service方法进行处理,这就是进行ajax请求的处理啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式