关于Ajax

1.Ajax

异步 JavaScript 和 XML

Ajax 本身不是一种技术,而是一种将一些现有技术结合起来使用的方法,包括:HTMLXHTMLCSSJavaScriptDOMXMLXSLT、以及最重要的 XMLHttpRequest 对象。当使用结合了这些技术的 Ajax 模型以后,网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面。这使得程序能够更快地回应用户的操作。Ajax 最吸引人的特性是它的"异步"性质,这意味着它可以与服务器通信、交换数据并更新页面,而无需刷新页面。

尽管 Ajax 中的 X 代表 XML,但是 JSON 才是首选,因为它更加轻量,而且是用 JavaScript 编写的。在 Ajax 模型中,JSON 和 XML 都被用来包装信息。

2.步骤

1.创建对象

java 复制代码
//建立ajax异步对象
let xhr = new XMLHttpRequest()

2处理服务器响应

java 复制代码
httpRequest.onreadystatechange = () => {
  // 在这里处理服务器响应。
};

3发送请求

java 复制代码
httpRequest.open("GET", "http://www.example.org/some.file", true);
httpRequest.send();

3.onreadystatechange 事件

当请求被发送到服务器时,我们需要执行一些基于响应的任务。每当 readyState 改变时,就会触发 onreadystatechange 事件。AJAX -- onreadystatechange 事件 | 菜鸟教程

4.示例

java 复制代码
//建立ajax异步对象
let xhr = new XMLHttpRequest()
//给对象添加事件
xhr.onreadystatechange = function () {
    //ajax 对象状态码 0 1 2 3 4
    if (xhr.readyState === 4 && xhr.status === 200) {
        //获取接口的响应字符串
        //console.log(xhr.responseText)

        let obj = JSON.parse(xhr.responseText)
        //console.log(obj['java.version'])
        let doc = document.body
        for (let p in obj) {
            //console.log(obj[p])
            doc.innerHTML += `<p>${p} = ${obj[p]}</p>`
        }
    }
}

//本服务器下的 get文件输出的内容
//打开ajax对象,请求方式为GET 请求路径 本服务器路径,同域 https://localhost:3333/
//xhr.open('GET', './get', true)

//xhr.open('GET', 'http://192.168.13.249:8088/', true)

// xhr.open('GET', 'http://localhost:8088/', true)
xhr.open('POST', 'http://localhost:8088/post', true)

//发送请求
xhr.send()
相关推荐
Sun_light11 分钟前
6个你必须掌握的「React Hooks」实用技巧✨
前端·javascript·react.js
爱学习的茄子14 分钟前
深度解析JavaScript中的call方法实现:从原理到手写实现的完整指南
前端·javascript·面试
莫空000014 分钟前
Vue组件通信方式详解
前端·面试
呆呆的心14 分钟前
揭秘 CSS 伪元素:不用加标签也能玩转出花的界面技巧 ✨
前端·css·html
百锦再15 分钟前
重新学习Vue中的按键监听和鼠标监听
javascript·vue.js·vue·计算机外设·click·up·down
susnm19 分钟前
Dioxus 与数据库协作
前端·rust
优雅永不过时_v23 分钟前
基于vite适用于 vue和 react 的Three.js低代码与Ai结合编辑器
前端·javascript
小皮侠25 分钟前
nginx的使用
java·运维·服务器·前端·git·nginx·github
WildBlue26 分钟前
🧊 HTML5 王者对象 Blob - 二进制世界的魔法沙漏
前端·javascript·html
啷咯哩咯啷31 分钟前
Vue3构建低代码表单设计器
前端·javascript·vue.js