带你了解 Ajax 请求数据的四个步骤~~~

虽然有很多封装好的网络请求,但是多了解一些知识总归没错的。

直接进入正题

步骤一

创建出一个对象 XMLHttpRequest()

var xhr = null;
if(window.XMLHttpRequest){
	//该方法不兼容IE6及以下浏览器
	xhr = new XMLHttpRequest();
}else{
	//IE6及以下兼容
	xhr = ActiveXObject('Microsoft.XMLHTTP');
}
步骤二

准备发送网络请求 open() 参数有三个

  • 第一个参数:使用什么方式访问(get和post)
  • 第二个参数:访问的url地址
  • 第三个参数:同步或异步(true是异步,false是同步)一般是异步请求

get请求
get请求会将请求的参数放在地址栏
register.php文件是后端人员给的,参数也是后端人员给的(一般有接口文档)

/xhr.open('get','register.php?username='+unameValue,true);

post请求
post请求会将请求的参数放在请求体中

xhr.open('post','register.php',true);
步骤三

执行发送网络请求 send()

get请求的发送方式

xhr.send(null);

post请求的发送方式

var param = 'username=' + unameValue;
// 设置xhr的请求头信息,这个步骤仅仅是针对于post请求才有的
xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xhr.send(param);
步骤四

指定回调函数并接收数据
现在基本上都是JSON数据格式了,xml格式也有,用的多不多不清楚了。下面用到的状态图,在文章的最后有图片介绍。

异步请求的代码

// 监听服务器的状态改变,来触发onreadystatechange事件
xhr.onreadystatechange = function () {
	//xhr.readyState == 4 表示发送的状态
	if(xhr.readyState == 4){
		//xhr.status == 200 表示服务器返回的状态
		if(xhr.status == 200){
			//看后端制作的是什么数据格式,再决定使用哪种类型
			//如果是xml数据格式,使用下面的
			//var queryResult = xhr.responseXML;
			//如果是json或者别的数据格式使用下面的
			var queryResult = xhr.responseText;
			// 进行输出
			document.getElementById('query').innerText = queryResult;
		}
	}
}

同步请求的代码

if (xhr.readyState == 4) {
	if (xhr.status == 200) {
		var queryResult = xhr.responseText;
		// 进行输出
		document.getElementById('query').innerText = queryResult;
	}
}

状态图
在这里插入图片描述

结语

这篇文章主要是了解Ajax的请求过程。目前有很多封装好的网络请求,比如说jQuery的$.ajax()、$.get()、$.post(),还有vue的axios等。只需要知道怎么使用它们就可以了。各位大佬给点个赞吧🤭

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值