原生JS实现Ajax
Posted 师兄白泽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生JS实现Ajax相关的知识,希望对你有一定的参考价值。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var xhr = null;
if(window.XMLHttpRequest)
xhr = new XMLHttpRequest();
else
xhr = new ActiveXObject('Microsoft.XMLHttp');
// 对象刚创建时
console.log(xhr.readyState);//0
/**
* param1 请求方式 此处为get
* param2 请求地址
* param3 true异步 false同步
*/
xhr.open("get","http://developer.duyiedu.com/edu/testAjaxCrossOrigin",true);
// 请求发送前
console.log(xhr.readyState);//1
xhr.send();//一般来说会把这句放到ajax最后,防止代码出错。
//如果open的第三个参数传true为异步模式。如果传递参数为false为同步模式
// 请求发送后
console.log(xhr.readyState);//1
// 当readystate变化时打印
xhr.onreadystatechange = function()
console.log(xhr.readyState);//2 3 4
//状态4表示请求已经完成,已经接收到数据
// status = 200表示请求成功 status为http状态码
// 200 请求成功 2开头的为成功
// 3** 表示重定向
// 4** 表示客户端错误 404 页面未找到
// 5** 表示服务端错误
if(xhr.readyState == 4 && xhr.status == 200)
// 输出返回的数据
console.log(xhr.responseText);
document.getElementById('text').innerText = xhr.responseText;
var jsonStr = JSON.parse(xhr.responseText);
console.log(jsonStr.msg);
document.getElementById('jsonStr').innerText = jsonStr.msg;
</script>
<div id="text"></div>
<div id="jsonStr"></div>
</body>
</html>
以上是关于原生JS实现Ajax的主要内容,如果未能解决你的问题,请参考以下文章