• AJAX 这一篇就够了(学习javaWeb)


    目录

    一.AJAX·快速入门

    1.编写AjaxServlet ,并使用response输出字符串

    2.创建XMLHttpRequest对象:用于和服务器交换数据

    3.向服务器发送请求

    4.获取服务器响应数据

    二.Ajax案例(练手)验证用户是否存在

    1.selectUserServlet

    2.register.html

    3.效果: (异步)

     三.Axios异步框架 快速入门

    1.Axios对原生的Ajax进行封装,简化书写

    2.官网:Axios 中文文档 | Axios 中文网 | Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js (axios-http.cn)

    案例:1. axiosServlet 

    案例:2. 02-axios-demo.html

    四.Axios请求方式的别名

    1.为了方便起见,Axios已经未所有支持的请求方式提供了别名


     

    1.概念:AJAX(Asynchronous JavaScript And Xml)异步的JavaScript和Xml

    2.AJAX作用:

    (1).与服务器进行数据交换:通过Ajax可以给服务器发送请求,并获取服务器相应的数据

    ——使用AJAX和服务器进行通信,就可以使用HTML+AJAX来替换jsp页面

    (2).异步交互:可以在不重加载整个页面的情况下,与服务器交换数据,并更新部分网页的技术,如:搜索联想,用户名是否可用于校验,等等...

    3.同步与异步

    同步:客户端需要等待服务端的处理(页面刷新)

    异步:客户端不需要等待服务端的处理(页面不刷新)

    一.AJAX·快速入门

    1.编写AjaxServlet ,并使用response输出字符串

    1. package com.itheima.web.servlet;
    2. import javax.servlet.*;
    3. import javax.servlet.http.*;
    4. import javax.servlet.annotation.*;
    5. import java.io.IOException;
    6. @WebServlet("/ajaxServlet")
    7. public class AjaxServlet extends HttpServlet {
    8. @Override
    9. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    10. //1.响应数据
    11. response.getWriter().write("hello ajax");
    12. }
    13. @Override
    14. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    15. this.doGet(request, response);
    16. }
    17. }

    2.创建XMLHttpRequest对象:用于和服务器交换数据

    1. var xhttp;
    2. if (window.XMLHttpRequest) {
    3. xhttp = new XMLHttpRequest();
    4. } else {
    5. // code for IE6, IE5
    6. xhttp = new ActiveXObject("Microsoft.XMLHTTP");
    7. }

    3.向服务器发送请求

    1. xhttp.open("GET", "http://localhost:8080/ajax_demo/ajaxServlet", true);//异步写全路径,有利于前后端分离
    2. xhttp.send();

    4.获取服务器响应数据

    1. xhttp.onreadystatechange = function() {
    2. if (this.readyState == 4 && this.status == 200) {
    3. document.getElementById("demo").innerHTML =
    4. alert(this.responseText);
    5. }
    6. };

    二.Ajax案例(练手)验证用户是否存在

    1.selectUserServlet

    1. package com.itheima.web.servlet;
    2. import javax.servlet.*;
    3. import javax.servlet.http.*;
    4. import javax.servlet.annotation.*;
    5. import java.io.IOException;
    6. @WebServlet("/selectUserServlet")
    7. public class SelectUserServlet extends HttpServlet {
    8. @Override
    9. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    10. //1. 接收用户名
    11. String username = request.getParameter("username");
    12. //2. 调用service查询User对象
    13. boolean flag = true;
    14. //3. 响应标记
    15. response.getWriter().write("" + flag);
    16. }
    17. @Override
    18. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    19. this.doGet(request, response);
    20. }
    21. }

    2.register.html

    3.效果: (异步)

     三.Axios异步框架 快速入门

    1.Axios对原生的Ajax进行封装,简化书写

    2.官网:Axios 中文文档 | Axios 中文网 | Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js (axios-http.cn)

    案例:1. axiosServlet 

    1. package com.itheima.web.servlet;
    2. import javax.servlet.ServletException;
    3. import javax.servlet.annotation.WebServlet;
    4. import javax.servlet.http.HttpServlet;
    5. import javax.servlet.http.HttpServletRequest;
    6. import javax.servlet.http.HttpServletResponse;
    7. import java.io.IOException;
    8. @WebServlet("/axiosServlet")
    9. public class AxiosServlet extends HttpServlet {
    10. @Override
    11. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    12. System.out.println("get...");
    13. //1.接受一下请求参数
    14. String username = request.getParameter("username");
    15. System.out.println(username);
    16. //2.响应数据
    17. response.getWriter().write("hello Axios");
    18. }
    19. @Override
    20. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    21. System.out.println("post...");
    22. this.doGet(request, response);
    23. }
    24. }

    案例:2. 02-axios-demo.html

    四.Axios请求方式的别名

    1.为了方便起见,Axios已经未所有支持的请求方式提供了别名

    (1).axios.get(url[,config])

    (2).axios.delete(url[,config])

    (3).axios.head(url[,config])

    (4).axios.options(url[,config])

    (5).axios.post(url[,data[config]])

    (6).axios.put(url[,data[,config]])

    (7).axios.patch(url[,data[,config]])

    方法名作用
    get(url)发送get请求方式
    post(url,请求参数)发送post请求方式

     发送get请求:

    1. axios.get("http://localhost:8080/ajax_demo/axiosServlet?username=zhangsan").then(function (resp){
    2. alert(resp.data);
    3. })

     发送post请求:

    1. axios.get("http://localhost:8080/ajax_demo/axiosServlet","username=zhangsan",).then(function (resp){
    2. alert(resp.data);
    3. })

  • 相关阅读:
    springboot~封装依赖引用包jar还是pom,哪种更规范
    初学AJAX:express框架基本使用、ajax处理get/post请求、请求超时与网络异常处理、取消请求操作
    最全元宇宙概念分析!元宇宙为何发展于区块链?
    华为海思校园招聘-芯片-数字 IC 方向 题目分享——第四套
    计算机毕业论文选题java毕业设计软件源代码SSH权限管理系统[包运行成功]
    vue顶部页面加载进度条
    AERMOD模型大气环境影响评价
    SAP事件 Event Flow
    公路曲线及匝道多线路正、反算综合程序四(4.3修改版)1
    【leetcode】2357. 使数组中所有元素都等于零(js实现)
  • 原文地址:https://blog.csdn.net/qq_51272114/article/details/126533209