关于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()
相关推荐
zwjapple1 小时前
docker-compose一键部署全栈项目。springboot后端,react前端
前端·spring boot·docker
像风一样自由20203 小时前
HTML与JavaScript:构建动态交互式Web页面的基石
前端·javascript·html
aiprtem4 小时前
基于Flutter的web登录设计
前端·flutter
浪裡遊4 小时前
React Hooks全面解析:从基础到高级的实用指南
开发语言·前端·javascript·react.js·node.js·ecmascript·php
why技术4 小时前
Stack Overflow,轰然倒下!
前端·人工智能·后端
GISer_Jing4 小时前
0704-0706上海,又聚上了
前端·新浪微博
止观止5 小时前
深入探索 pnpm:高效磁盘利用与灵活的包管理解决方案
前端·pnpm·前端工程化·包管理器
whale fall5 小时前
npm install安装的node_modules是什么
前端·npm·node.js
烛阴5 小时前
简单入门Python装饰器
前端·python
袁煦丞6 小时前
数据库设计神器DrawDB:cpolar内网穿透实验室第595个成功挑战
前端·程序员·远程工作