Ajax的基本使用

本文详细介绍了Ajax的基础知识,包括什么是Ajax、如何使用XMLHttpRequest对象发起GET和POST请求,以及JSON数据格式的解析。同时,文章讨论了JQuery中的Ajax方法,如$.get(), $.post()和$.ajax(),并提到了高级用法,如封装自己的Ajax函数。此外,还介绍了XMLHttpRequest Level2的新特性,如设置请求时限、使用FormData对象和上传文件的进度。最后,文章简述了流行的Ajax库axios的使用。" 139001818,7862084,模型强化学习与独立想象力:解耦视觉动态的智能控制,"['深度学习', '神经网络', '强化学习', '自动驾驶', '模型预测']
摘要由CSDN通过智能技术生成

什么是Ajax

Ajax的全称是Asynchronous JavaScript And XML(异步的JavaScript和XML),是客户端与服务器之间进行数据交互的技术之一。网页中数据的增删改查以及获取、提交数据都可以通过Ajax的形式来实现数据交互。
通俗的理解:在原生JS中使用XMLHttpRequest对象和服务器进行数据交互的方式就是Ajax。

接口

当使用Ajax请求数据时所填写的url地址就是接口,每一个接口必须要有对应的请求方式。

收集一些接口

因为本人还不了解接口里面是咋实现的,所以先收集一些拿来用一用,嘿嘿

相关信息 GET POST
简单的书籍信息 http://www.liulongbin.top:3006/api/getbooks http://www.liulongbin.top:3006/api/addbook
智能聊天机器人 http://www.liulongbin.top:3006/api/robot 暂无
智能文字转语音 http://www.liulongbin.top:3006/api/synthesize 暂无
Postman接口测试工具

为了验证接口能否被访问,我们需要使用接口测试工具对数据接口进行检测,接口测试工具可以让我们在不写任何代码的情况下对接口进行调用和调试。点击这里下载Postman

JQuery中的Ajax

jQuery中对原生的XMLHttpRequest对象进行了封装,提供了一系列Ajax相关的函数,极大降低了Ajax的使用难度。

JQuery中常用的Ajax方法

$.get()函数

$.get()函数专门用来发起get请求,从服务器中的资源请求到客户端来进行使用。
语法如下:

$.get(url, [data], [callback])
参数名 参数类型 说明
url string 要请求的资源地址
data object 请求资源期间要携带的参数
callback function 请求成功时的回调函数

示例:

//从接口中获取id为1的数据,用res接收服务器相应的数据
$.get("http://www.liulongbin.top:3006/api/getbooks",{
   id: 1},function(res){
   
	console.log(res);//res是指服务器返回的数据
})

效果如下:
get请求

$.post()函数

$.post()函数专门用来发起post请求,将网页中的数据提交到服务器。语法与$.get()类似。

$.post(url, [data], [callback]);

$.ajax()函数

jQuery中提供的$.ajax()函数,是一个功能比较综合的函数,它允许我们对Ajax请求进行更详细的配置。
基本语法如下:

$.ajax({
   
	type: "", //请求的方式,例如GET和POST
	url: "", //请求的URL地址
	data: {
   }, //这次请求要携带的数据
	success: function(){
   } //请求成功后的回调函数
});

示例:

$.ajax({
   
	type: "GET", //把type换成method也行
	url: "http://www.liulongbin.top:3006/api/getbooks",
	data: {
   
		id: 1,
	},
	success: function (res) {
   
		console.log(res);
	},
});

效果如图所示:
AJAX请求

JQuery高级用法

Ajax进阶

XMLHttpRequest的基本使用

什么是XMLHttpRequest

XMLHttpRequest(xhr)是浏览器提供的一个JavaScript对象,通过这个对象可以请求服务器上的资源,上面所讲的JQuery中的Ajax函数就是基于XMLHttpRequest封装的。
用一张图理清楚关系:
XMLHttpRequest对象及封装

使用xhr对象发起GET请求

//第一步:实例化一个xhr对象
var xhr = new XMLHttpRequest();
//第二步:调用open函数  指定‘请求方式’与‘URL地址’
xhr.open("GET","http://www.liulongbin.top:3006/api/getbooks");
//第三步:调用send函数  发起Ajax请求
xhr.send();
//第四步:监听onreadystatechange事件
xhr.onreadystatechange = function (){
   
	//监听请求对象的readyState状态和服务器响应状态status
	if(xhr.readyState === 4 && xhr.status === 200){
   
		//如果判断成功
		//获取服务器响应回来的数据
		console.log(xhr.responseText);
	}
}
查询字符串

查询字符串定义:查询字符串是指在URL的末尾加上用于向服务器发送信息的字符串。
格式:将英文的?放在URL的末尾,然后再加上参数=值,多个键值对用&分隔开,以这个形式可以将想要发送给服务器的数据添加到URL中。
示例:

//不带参数的URL地址
var url1 = "http://www.resource.top:3006/book";
//带一个参数的URL地址
var url2 = "http://www.resource.top:3006/book?author=施耐庵";
//带多个参数的URL地址
var url3 = "http://www.resource.top:3006/book?author=施耐庵&id=1";
URL编码

因为URL地址中只允许出现英文相关的字符、数字和标点符号,不允许出现中文字符,如果需要出现中文字符,则必须对中文字符进行编码。
URL编码的原则:使用安全的字符去表示非安全的字符。通俗的理解就是使用英文字符去表示非英文字符。
示例:

var url = "http://www.resource.top:3006/book?author=施耐庵";
//经过编码之后,最后的‘施耐庵’三个字被转义为%E6%96%BD%E8%80%90%E5%BA%B5
//被转义后的编码中每三个百分号为一组表示一个中文字符
var url2 = "http://www.resource.top:3006/book?author=%E6%96%BD%E8%80%90%E5%BA%B5";

浏览器为URL地址的编码和解码提供了相应的API

对URL地址进行编码:encodeURI()

var word = "汉字";
console.log(encodeURI(word));
//输出结果为:%E6%B1%89%E5%AD%97

对URL地址进行解码:decodeURI()

var word = "%E6%B1%89%E5%AD%97"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@养鱼的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值