前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >javascript实现Ajax

javascript实现Ajax

作者头像
爱撒谎的男孩
发布2019-12-31 15:03:13
5820
发布2019-12-31 15:03:13
举报

文章目录

  1. 1. javascript实现Ajax
    1. 1.1. 定义
  2. 2. 实现的步骤
    1. 2.1. 创建XMLHttpRequest
    2. 2.2. 打开
    3. 2.3. 发送请求
    4. 2.4. 接收服务器响应数据
  3. 3. 实例

javascript实现Ajax

定义

  • 异步的javascriptXML,实现异步提交功能的技术(XMLHttpRequest)
  • 不响应页面的前提下,服务器可以响应其中的一小部分数据到页面上

实现的步骤

创建XMLHttpRequest

  • 解决浏览器兼容问题
function getXHR(){
	var xmlhttp;
	//判断当前浏览器是否识别XMLHttpRequest
	if (window.XMLHttpRequest)
 			{// code for IE7+, Firefox, Chrome, Opera, Safari
 				xmlhttp=new XMLHttpRequest();
 			}
	else
 			{// code for IE6, IE5
 				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 			}
 		return xmlhttp;  
}

打开

//第一个参数:请求的方式
//第二: 请求的url
//第三个:是否为异步,true表示异步,false表示同步
xhr.open("GET","Url",true);

发送请求

xhr.send();

接收服务器响应数据

  • xhr.onreadystatechange : 表示从发送请求到响应请求的状态变化,根据状态的变化,处理数据5种状态
  • xhr.readyState : 获取状态值
    • 0 : 表示xhr对象创建,但是还未初始化
    • 1 :初始化完成,发送请求
    • 2 : 接收服务器的响应
    • 3:解析服务器断响应的数据
    • 4: 响应数据
  • xhr.status : 获取响应状态码
    • 200 :表示ok
    • if(xhr.status==200)
  • xhr.responseText : 获取文本数据
//用于监听
		xhr.onreadystatechange=function(){
			//如果数据响应成功,并且状态码为200
			if (xhr.readyState==4&&xhr.status==200) {
				//处理数据
				var text=xhr.responseText;   //获取文本数据

			}
		}

实例

  • 请求本地的file.text文件
function LoadText(){
	var xhr;
	//判断当前浏览器是否识别XMLHttpRequest
	if (window.XMLHttpRequest)
 			{// code for IE7+, Firefox, Chrome, Opera, Safari
 				xhr=new XMLHttpRequest();
 			}
	else
 			{// code for IE6, IE5
 				xhr=new ActiveXObject("Microsoft.XMLHTTP");
 			}
 		
 		//用于监听
 		xhr.onreadystatechange=function(){
 			//如果数据响应成功,并且状态码为200
 			if (xhr.readyState==4&&xhr.status==200) {
 				//处理数据
 				var text=xhr.responseText;   //获取文本数据
 				alert(text);
 			}
 		}
	
             //异步请求
 		xhr.open("GET","file.text",true);  
 		xhr.send();  //发送请求

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • javascript实现Ajax
    • 定义
    • 实现的步骤
      • 创建XMLHttpRequest
        • 打开
          • 发送请求
            • 接收服务器响应数据
            • 实例
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档