java_Ajax

作者: 走停2015_iOS开发 | 来源:发表于2021-02-08 10:51 被阅读0次

    Ajax:(asynchronous js and xml) 异步的js和xml 指的是一种交互方式 异步加载,客户端和服务端的数据交互更新在局部页面的技术 不用刷新整个页面(局部刷新)

    优点:
    1. 局部刷新 效率更高
    2. 用户体验更好

    ajax原理

    ajax原理
    使用:

    1.不能使用表单获取a标签提交请求,否则会刷新整个页面,改用jQuery方式动态绑定来提交
    2.不能转发到jsp 不然响应的是整个页面,同时会重新刷新页面 所以只返回数据就可以

    • jsp代码
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
        <script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
        <script type="text/javascript">
            $(
                function () {
                    var btn = $("#btn");
                    btn.click(function () {
                       $.ajax({
                           url:"/ajaxServlet",
                           type:"post",
                           dataType:"text",
                           data:"id=1",
                           success:function (data) {
                               var text = $("#text");
                               text.before("<span>" + data + "</span><br>");
                           },
                          error:function () {
                               
                           },
                           complete:function () {
                              print("请求完成"); 
                           }
                       });
                    });
                }
            )
        </script>
    </head>
    <body>
        ${requestScope.str}
            <input id="text" type="text"><br/>
            <input id="btn" type="button" value="提交">
    </body>
    </html>
    
    • servlet代码
    @WebServlet("/ajaxServlet")
    public class ajaxServlet extends HttpServlet {
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            String id = req.getParameter("id");
            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            String  str = "hello world";
            //只返回str
            resp.getWriter().write(str);
            //相当于把ajax01.jsp的源码返回
    //        req.setAttribute("str",str);
    //     req.getRequestDispatcher("ajax01.jsp").forward(req,resp);
        }
    }
    
    基于jQuery的ajax语法
    $.ajax({
     属性1:xxx,
     属性2:xxx
    })
    属性列举
    1.url
    2.type:请求类型 默认get
    3.data:请求参数
    4.dateType:服务器返回的数据类型 text/json
    5.success:请求成功回调函数
    6.error:请求失败
    7.complete:请求完成的回调函数 无论成功与否都是回调 
    
    服务响应返回对像

    导入 json-lib jar包

            User user = new User(1,"qihongwang",98.0);
            //将java对象转为json格式 可以通过json-lib转化为json
            resp.getWriter().write(user);
    

    相关文章

      网友评论

          本文标题:java_Ajax

          本文链接:https://www.haomeiwen.com/subject/ozfztltx.html