前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >网络请求AJAX

网络请求AJAX

作者头像
郭顺发
发布于 2023-07-17 09:52:17
发布于 2023-07-17 09:52:17
14800
代码可运行
举报
文章被收录于专栏:pandacode_cnpandacode_cn
运行总次数:0
代码可运行

1. AJAX 介绍

​Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTMLXHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。 [3] 使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。

2. AJAX 的实现方式介绍网络

目前前端进行网络请求有两种方式,XHR和fatch。

对XHR进行封装的组件有很多,常见的有axios,jquery。

备注:XHR(XMLHttpRequest)

(建议使用axios。)

2.1. 优缺点

XHR

缺点:

  1. API用法繁琐。
  2. 没有关注分离的设计思想。
fetch

优点:

  1. 关注分离的设计思想。
  2. API相对于XHR更简单。
  3. fetch是浏览器原生支持的,使用fetch可以不用引用http的类库即可实现。

缺点:

  1. 老版浏览器兼容问题。(IE系列是完全不支持的,主流浏览器的早起版本也不支持,所以如果在项目中使用需要做兼容方案处理。)

3. 原生JS 实现 AJAX

直接使用XHR(XMLHttpRequest)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var xhr = new XMLHttpRequest();
xhr.open("get",url, true);
xhr.send(null);
xhr.onreadystatechange = function(){
    if(xhr.readyState === 4){
        if(xhr.status == 200){
            alert(xhr.responseText);
        }
    }
}

4. axios 实现 AJAX

前往 github (详情请查看axios Github 项目README.md 文件。)

4.1. 安装

Using npm:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ npm install axios

Using bower:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ bower install axios

Using yarn:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ yarn add axios

Using jsDelivr CDN:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

Using unpkg CDN:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

4.2. API demo

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Send a POST request
axios({
  method: 'post',
  url: '/user/12345',
  data: {
    firstName: 'Fred',
    lastName: 'Flintstone'
  }
});
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// GET request for remote image in node.js
axios({
  method: 'get',
  url: 'http://bit.ly/2mTM3nY',
  responseType: 'stream'
})
  .then(function (response) {
    response.data.pipe(fs.createWriteStream('ada_lovelace.jpg'))
  });

5. JQuery 实现 AJAX

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$.ajax({
  url: 'url',
  type: 'get',
  success: function(){
  }
})

6. Fetch 实现 AJAX

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
try {
  const response= await fetch(url)
  const data = await response.json()
} catch (error) {
  console.log('请求出错',error);
}

Fetch 更多参数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fetch(url, {
  body: JSON.stringify(data), // must match 'Content-Type' header
  cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
  credentials: 'same-origin', // include, same-origin, *omit
  headers: {
    'user-agent': 'Mozilla/4.0 MDN Example',
    'content-type': 'application/json'
  },
  method: 'POST', // *GET, POST, PUT, DELETE, etc.
  mode: 'cors', // no-cors, cors, *same-origin
  redirect: 'follow', // manual, *follow, error
  referrer: 'no-referrer', // *client, no-referrer
})

参考文档

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2018年最受欢迎Python机器学习库介绍
Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,再加上其简单、易学、速度快、开源免费、可移植性、可扩展性以及面向对象的特点,Python成为2017年最受欢迎的最受欢迎的编程语言! 人工智能是当前最热门话题之一,机器学习技术是人工智能实现必备技能,Python编程语言含有最有用的机器学习工具和库,以下是Python开发工程师必知的十大机器学习库! 一、Scikit-Learn 在机器学习和数据挖掘的应用中,Scikit-Learn是一个功能强大的Python包,我们
IT架构圈
2018/06/01
5490
推荐:机器学习 Python库Top 20
如今开源是创新的核心,推动着技术的飞速革新。本文会为你介绍 2016 年机器学习 Top 20 Python 开源项目,同时分析得出一些有趣的见解和发展趋势。 KDnuggets 为您带来 Github 上最新的 Python 机器学习开源项目前 20 名。奇怪的是,去年一些非常活跃的项目渐渐停滞了,因此没能上榜,而 13 个新项目冲进了今年的 top 20(参考贡献 contributions 和提交数 commits)。 2016 Top 20 Python 机器学习开源项目 1. Scikit-l
企鹅号小编
2018/01/12
9980
推荐:机器学习 Python库Top 20
Github上Top20 Python与机器学习开源项目推荐
关于更多机器学习、人工智能、增强现实、Unity、Unreal资源和技术干货,可以关注公众号:AIRX社区,共同学习,一起进步!AIRX三次方
三次方AIRX
2020/12/05
1.5K0
【Python环境】Python机器学习库
Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy。其中Numpy是一个用python实现的科学计算包。包括: 一个强大的N维数组对象Array; 比较成熟的(广播)函数库; 用于整合C/C++和Fortran代码的工具包; 实用的线性代数、傅里叶变换和随机数生成函数。 SciPy是一个开源的Python算法库和数学工具包,SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。其功能与软
陆勤_数据人网
2018/02/27
1.1K0
TOP20你用了几个?Python人工智能与机器学习开源项目
相对于2016年的报告,2018年《Top 20 Python AI and Machine Learning projects on Github》报告主要有如下几个变化:
IT派
2018/08/10
5920
TOP20你用了几个?Python人工智能与机器学习开源项目
机器学习必备:前20名Python人工智能和机器学习开源项目
源 / 深度学习世界 文 / IIan Reinstein 译 / 乌拉乌拉 如今机器学习和人工智能已经变得家喻户晓,有很多爱好者进入了该领域。但是,什么才是能够进入该领域的正确路径呢?如何
顶级程序员
2018/05/03
1K0
机器学习必备:前20名Python人工智能和机器学习开源项目
盘点 | 今年GitHub排名前20的Python机器学习开源项目
当今时代,开源是创新和技术快速发展的核心。本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们
CDA数据分析师
2018/02/05
9900
盘点 | 今年GitHub排名前20的Python机器学习开源项目
【Python环境】python中的数据分析库及机器学习库
Python 计算机视觉 SimpleCV—开源的计算机视觉框架,可以访问如OpenCV等高性能计算机视觉库。使用Python编写,可以在Mac、Windows以及Ubuntu上运行。 自然语言处理 NLTK —一个领先的平台,用来编写处理人类语言数据的Python程序 Pattern—Python可用的web挖掘模块,包括自然语言处理、机器学习等工具。 TextBlob—为普通自然语言处理任务提供一致的API,以NLTK和Pattern为基础,并和两者都能很好兼容。 jieba—中文断词工具。 Sno
陆勤_数据人网
2018/02/26
1.2K0
【Python环境】python中的数据分析库及机器学习库
Python相关机器学习‘武器库’
开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python。这些年来,接触和使用了很多Python工具包,特别是在文本处理,科学计算,机器学习和数据挖掘领域,有很多很多优秀的Python工具包可供使用,所以作为Pythoner,也是相当幸福的。如果仔细留意微博和论坛,你会发现很多这方面的分享,自己也Google了一下,发现也有同学总结了“Python机器学习库”,不过总感觉缺少点什么。最近流行一个词,全栈工程师(full st
智能算法
2018/04/02
9950
专家们最常用的15款机器学习工具
机器学习是一项令人惊叹的技术。如果掌握了正确的使用方法,机器学习技术将势不可当。建造一个在很大程度上表现得像人类的机器,将是多么吸引人。精通机器学习工具有利于处理数据、训练模型、发现新方法并创建自己的算法。
人工智能小咖
2020/04/16
5.6K0
专家们最常用的15款机器学习工具
GitHub最著名的20个Python机器学习项目
摘要: 开源是技术创新和快速发展的核心。这篇文章向你展示Python机器学习开源项目以及在分析过程中发现的非常有趣的见解和趋势。 我们分析了GitHub上的前20名Python机器学习项目,发现sc
IT派
2018/03/28
1.1K0
GitHub最著名的20个Python机器学习项目
盘点·GitHub最著名的20个Python机器学习项目
本文介绍了GitHub上最流行的20个Python机器学习项目,包括scikit-learn、Pylearn2、NuPIC等,并分析了这些项目的特点和贡献。
企鹅号小编
2017/12/28
9570
盘点·GitHub最著名的20个Python机器学习项目
【Python环境】Python 网页爬虫 &文本处理 & 科学计算 &机器学习 &数据挖掘兵器谱
曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开发语言是C/C++,但平时的很多文本数据处理任务都交给了Python。离开腾讯创业后,第一个作品课程图谱也是选择了Python系的Flask框架,渐渐的将自己的绝大部分工作交给了Python。这些年来,接触和使用了很多Python工具包,特别是在文本处理,科学计算,机器学习和数据挖掘领域,有很多很多优秀的Python工具包可供使用,所以作为Pythoner,也是相当幸福的。其实如果仔细留意微博,你会发现很多这方面的分享
陆勤_数据人网
2018/02/26
8710
9大Python深度学习库,选出最适合你的那个
如果你对深度学习和卷积神经网络感兴趣,但是并不知道从哪里开始,也不知道使用哪种库,那么这里就为你提供了许多帮助。 在这篇文章里,我详细解读了9个我最喜欢的Python深度学习库。 这个名单并不详尽,它只是我在计算机视觉的职业生涯中使用并在某个时间段发现特别有用的一个库的列表。 这其中的一些库我比别人用的多很多,尤其是Keras、mxnet和sklearn-theano。 其他的一些我是间接的使用,比如Theano和TensorFlow(库包括Keras、deepy和Blocks等)。 另外的我只是在一些特别
新智元
2018/03/23
1.3K0
9大Python深度学习库,选出最适合你的那个
满满的干货:机器学习资料(五)
今天给大侠带来机器学习资料(五),第五篇带来自然语言处理、通用机器学习、数据分析/数据可视化、Python计算机视觉、自然语言处理、通用机器学习的各种库以及各种资料链接推荐,满满的干货,话不多说,上货。
FPGA技术江湖
2020/12/30
3830
机器学习库/包的比较
当涉及到训练计算机的行为而不需要明确的编程,存在大量的机器学习领域的工具。学术和工业界专业人士使用这些工具来构建从语音识别到MRI扫描中的癌症检测的许多应用。许多这些工具可以在网上免费获得。如果你有兴趣,我已经编译了这些(见本页底部)的排名,以及区分它们中一些重要功能的概述。具体来说,该工具所用的语言、每个工具的主页网站上的描述、对机器学习中特定范式的关注以及学术界和工业界的一些主要用途。
哒呵呵
2018/08/06
9860
机器学习库/包的比较
机器学习必知的 10 个 Python 库
Python 是最流行和使用最广泛的编程语言之一,它已经取代了业界许多编程语言。python 在开发人员中流行的原因有很多。然而,最重要的一点是它有大量的库供用户使用。
我叫什么好
2021/12/31
2.2K0
资源 | 2017年最流行的15个数据科学Python库
Python 近几年在数据科学行业获得了人们的极大青睐,各种资源也层出不穷。数据科学解决方案公司 ActiveWizards 近日根据他们自己的应用开发经验,总结了数据科学家和工程师将在 2017 年最常使用的 Python 库。 核心库 1)NumPy 地址:http://www.numpy.org 当使用 Python 开始处理科学任务时,不可避免地需要求助 Python 的 SciPy Stack,它是专门为 Python 中的科学计算而设计的软件的集合(不要与 SciPy 混淆,它只是这个 sta
CDA数据分析师
2018/02/05
9760
资源 | 2017年最流行的15个数据科学Python库
深度学习Python、大数据、机器学习必备速查表
本文介绍了深度学习、大数据和机器学习的技术原理、相关库和工具,以及其在实际应用中的优势和挑战。
企鹅号小编
2018/01/09
1.4K0
深度学习Python、大数据、机器学习必备速查表
推荐阅读
相关推荐
2018年最受欢迎Python机器学习库介绍
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验