罪恶克星 发表于 2024-11-27 09:13:52

Ajax局部刷新,异步请求

Ajax执行原理:


https://img-blog.csdnimg.cn/img_convert/6d39597d0355176c163206c4cad33f85.png
同步请求和异步请求:


https://img-blog.csdnimg.cn/img_convert/3b8dd89ef8037ea6bdddf11d56d55ebf.png
Ajax的语句:

<script src="/js/jquery-1.12.4.min.js"></script>
<script>
    $(function () {
      $("button").click(function () {
      $.ajax({
          url:"/indexServlet",
          type:"get",//请求方式
          //async:false,//false同步 默认,true异步
          dataType:"text",//返回值类型,常用的json,text,如果要使用result.属性要改为json
          data:{uname:'张三',pwd:1234},//传递数据以键值对的形式
          success:function (result) {//请求后端的结果传给参数result
            $("h1").text(result);
          },
          error:function () {//请求失败
            $("h1").text("请求失败!");
          }
      });
      });
    });
</script> 在Java中提供的json字符串 ,属性要用""包括。 
@WebServlet("/indexServlet")
public class IndexServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
      req.setCharacterEncoding("utf-8");
      String uname = req.getParameter("uname");
      String pwd = req.getParameter("pwd");
      //相应编码
      resp.setCharacterEncoding("utf-8");
      //json字符串
      String msg = "登陆成功";
      String s = "{\"code\":200,\"msg\":"+msg+"}";
      PrintWriter out = resp.getWriter();
      out.print(s);
    }
} 阿里巴巴提供的包:
https://img-blog.csdnimg.cn/img_convert/51c1733465e8384a12d98c7152d50ba3.png
         可以方便的实现json对象与JavaBean对象的转换,实现JavaBean对象与json字符串的转换,实现json对象与json字符串的转换。
JSONObject:
        JSONObject是一个表示JSON对象的类。它允许你创建、读取和操作JSON对象。
        JSON对象由键值对组成,此中键是字符串,值可以是各种类型(如字符串、数字、布尔值、数组、另一个JSON对象等)。
JSONArray:
        是一个表示JSON数组的类。它允许你创建、读取和操作JSON数组。
        JSON数组是一个有序的值集合,可以包含各种类型的元素(如字符串、数字、布尔值、另一个JSON对象或另一个JSON数组)。
@WebServlet("/indexServlet")
public class IndexServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
      req.setCharacterEncoding("utf-8");
      String uname = req.getParameter("uname");
      String pwd = req.getParameter("pwd");
      //相应编码
      resp.setCharacterEncoding("utf-8");
      JSONObject jsonObject = new JSONObject();
      JSONArray jsonArray = new JSONArray();
      if ("张三".equals(uname) && "1234".equals(pwd)){

            jsonObject.put("code",200);
            jsonObject.put("msg","登陆成功");
            //out.print(uname+"登陆成功");
      }else{
            //out.print("登录失败");
            jsonObject.put("code",400);
            jsonObject.put("msg","登陆失败");
      }
      PrintWriter out = resp.getWriter();
      out.print(s);
    }
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Ajax局部刷新,异步请求