IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> ajax请求的封装及理解 -> 正文阅读

[JavaScript知识库]ajax请求的封装及理解

Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTML 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。

AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面

Ajax这个术语源自描述从基于 Web 的应用到基于数据的应用

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

使用 JavaScript 向服务器提出请求并处理响应而不阻塞用户的核心对象XMLHttpRequest。通过这个对象,您的 JavaScript 可在不重载页面的情况与 Web 服务器交换数据,即在不需要刷新页面的情况下,就可以产生局部刷新的效果。

Ajax 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。

AJAX工作原理图,如下:
在这里插入图片描述
Ajax 的原理简单来说通过 XmlHttpRequest 对象来向服务器发异步请求,从服务器获得数据,然后? JavaScript 来操作 DOM ?更新??。
其工作原理:
1.创建 Ajax 的核?对象 XMLHttpRequest 对象
2.通过 XMLHttpRequest 对象的 open() ?法与服务端建?连接,构建请求所需的数据内容
3.并通过 XMLHttpRequest 对象的 send() ?法发送给服务器端
4.通过 XMLHttpRequest 对象提供的 onreadystatechange 事件监听服务器端你的通信状态
5.接受并处理服务端向客户端响应的数据结果
6.将处理结果更新到 HTML ??中

ajax封装
//封装?个ajax请求
function ajax(options) {
     //创建XMLHttpRequest对象
     const xhr = new XMLHttpRequest()
     //初始化参数的内容
     options = options || {}
     options.type = (options.type || 'GET').toUpperCase()
     options.dataType = options.dataType || 'json'
     const params = options.data
     //发送请求
     if (options.type === 'GET') {
         xhr.open('GET', options.url + '?' + params, true)
         xhr.send(null)
     } else if (options.type === 'POST') {
         xhr.open('POST', options.url, true)
         xhr.send(params)
     //接收请求
     xhr.onreadystatechange = function () {
         if (xhr.readyState === 4) {
             let status = xhr.status
             if (status >= 200 && status < 300) {
                 options.success && options.success(xhr.responseText, xhr.responseXML)
             } else {
                 options.fail && options.fail(status)
             }
         }
     }
}
根据上?的封装后的使??式:
ajax({
     type: 'post',
     dataType: 'json',
     data: {},
     url: 'https://xxxx',
     success: function(text,xml){//请求成功后的回调函数
         console.log(text)
     },
     fail: function(status){请求失败后的回调函数
         console.log(status)
     }
})

ajax请求的封装参考了这位朋友,别人的劳动成果,要附上

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-25 23:09:09  更:2022-09-25 23:10:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 5:26:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码