Javaweb-Ajax详解

一、概念

Ajax = Asynchronous JavaScript and XML(异步的JavaScript和XML)

Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术

1.同步和异步

  • 异步 : 传输是面向字符的传输,它的单位是字符;
  • 同步 : 传输是面向比特的传输,它的单位是帧,它传输的时候要求接收方和发送方之间的时钟是一致的。
  • 同步的话,必须这个操作完了才会执行下一步,在等待期间浏览器会挂起不执行下面的js代码;
  • 异步则是【告诉】浏览器去做,【告诉】是一瞬间的事情,然后继续执行下一步,等到结果返回之后,浏览器会通知js执行相应的回调。

二、Ajax作用

  • 注册时,输入用户名自动检测用户是否已经存在
  • 登录时,提示用户名密码错误
  • 删除数据时,将行ID发送到后台,后台在数据库中删除,数据库删除成功后,在页面DOM中将数据行业删除。

我们可以使用前端的一个标签来伪造一个ajax的样子。iframe标签


    伪造Ajax

    window.onload = function f(){
        var myDate = new Date();
        document.getElementById('currentTime').innerText = myDate.getTime();
    }

    function loadPage(){
        var targetURL = document.getElementById('url').value;
        console.log(targetURL);
        document.getElementById('iframePosition').src = targetURL;
    }

    请输入要加载的地址:

        加载页面的位置

运行结果图

Javaweb-Ajax详解

三、Ajax原理

jQuery Ajax本质就是XMLHttpRequest,对他进行了封装,方便调用

Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发送异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面

XMLHttpRequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单的说,也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。

使用jQuery需要先导入jQuery的js文件

https://jquery.com/download/

package com.tang.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@Controller
@RequestMapping("/ajax")
public class AjaxController {
    //第一种方式,服务器要返回一个字符串,直接使用response
    @RequestMapping("/a1")
    public void ajax(String name, HttpServletResponse response) throws IOException {

        if("admin".equals(name)){
            response.getWriter().print("true");
        }else{
            response.getWriter().print("false");
        }
    }
}


    Title

        //所有参数:
        //url:待载入页面的URL地址
        //data:待发送key/value 参数
        //success:载入成功时回调函数
        //data:   封装了服务器返回的数据
        //status:  状态
        function a1(){
            $.ajax({
                url:"${pageContext.request.contextPath}/ajax/a1",
                data:{'name':$("#txtName").val()},
                success:function (data,status){
                    alert(data);
                    alert(status);
                }
            });
        }

用户名:

到这我觉得,有些都看不懂了,了解之后觉得Ajax等学到SpringMVC之后再回来补

Original: https://www.cnblogs.com/twq46/p/16551632.html
Author: 剑断青丝ii
Title: Javaweb-Ajax详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/620386/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球