Ajax的四步操作

ajax

第一步 创建 XMLHttpRequest 核心对象—》(new)

普通写法

var xhr=new XMLHttpRequest();//有兼容问题   IE6及一下不支持

兼容写法

var xhr=null;
	if(window.XMLHttpRequest){
		xhr=new XMLHttpRequest();
	}else{
	    xhr=new ActiveXObject("Microsoft.XMLHttp");//IE6及一下
	}

封装写法

function getXhr(){
	var xhr=null;
		if(window.XMLHttpRequest){
			xhr=new XMLHttpRequest();
		}else{
			xhr=new ActiveXObject("Microsoft.XMLHttp");//IE6及一下
		}
			return xhr;
}
			
var xhr=getXhr();			

第二步 注册监听

xhr.onreadystatechange=function(){
	if(xhr.readyState===4&&(xhr.status===200||xhr.status===304)){
		console.log(xhr.responseText);
	}
}

因为需要循环将数据加载到页面上, json格式无法循环

解析方法1:

JSON.parse()
var data=JSON.parse(xhr.responseText);
console.log(data);

解析方法2:

eval()
var data = eval("("+ xhr.responseText +")");
	console.log(data);
         		
//可以调用函数进行具体操作
  fn(json);
}
 }

状态值(判断请求的)
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪

状态码(判断响应的)
1xx:信息响应类,表示接收到请求并且继续处理
2xx:处理成功响应类,表示动作被成功接收、理解和接受
3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理
4xx:客户端错误,客户请求包含语法错误或者是不能正确执行
5xx:服务端错误,服务器不能正确执行一个正确的请求
200: "OK“
304: 文件未改变,页面缓存
404: 未找到页面
500:后台的问题

第三步 建立连接

xhr.open(method,url,async);

method:请求类型,分为get和post方式;格式为字符串;
get: HBuilder的小环境测试
post:必须要搭建集成环境

url:请求地址;格式为字符串;
Async:是否异步;(true:异步;false:同步

例如:

xhr.open('get','one.txt',true);
xhr.open('post','one.txt',true);
post 添加http头,发送信息至服务器时内容编码类型 
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

第四步 发送数据

Get方式与post方式发送的参数不一样
格式:xhr.send(string);

为get方式请求时,发送null;
xhr.send(null);

为post方式请求时,发送具体参数xhr.send("name='lily'&age=18");

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值