var xhr = null;
/*if条件判断当前浏览器是否有XMLHttpRequest(),如果有直接创建一个XMLHttpRequest()实
例对象,如果没有那就是使用else条件下的用于兼容IE8以下IE浏览器的方法*/
if(window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
//2、准备发送
/*open方法传入三个参数,第一个是请求方式,第二个是地址,第三个是设置同步或异步,
基本上设置为true(也就是异步方法)*/
xhr.open("get","后端URL地址",true);
//3、执行发送
xhr.send(null); //send方法中可以传入发送时携带的数据,用于后台验证
/*
//post请求方法
xhr.open("post","URL地址",true); //异步post请求
xhr.setRequestHeader("设置请求头信息");
xhr.send('携带的请求参数,如:用户名、密码等');
*/
//4、制定回调函数
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
/*responseText用于获取到后端传过来的数据,这里是json格式,如果是XML格式则使用
// var result = xhr.responseXML;
*/
var result = xhr.responseText; //获取JSON数据
result = JSON.parse(result); //解析JSON数据
//对返回数据进行处理,用于更新页面
var newHtml = document.getElementById("container").innerHTML;
for(var i=0;i<result.length;i++){
var item = result[i];
var name = item.name;
var sex = item.sex;
var age = item.age;
console.log(name,sex,age);
var tempHtml =`<tr><td>${name}+</td><td>${age}</td><td>${sex}</td></tr>`;
newHtml += tempHtml;
}
//将数据渲染到页面
document.getElementById("container").innerHTML = newHtml;
}
}
};
};
</script>
<div>
<table id="container">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
</table>
</div>
**以上代码中展示了JavaScript 的Ajax发送请求和获取数据的流程,大致可以分为四步:**
1、创建XMLHttpRequest实例对象
xhr = new XMLHttpRequest( )
2、使用open方法发送请求
xhr.open("请求方法","后端URL地址",true/false);
3、执行发送
xhr.send(请求携带的参数);
4、制定回调函数解析后台返回数据并将其渲染到页面
xhr.onreadystatechange = function(){
// 方法体
//responseText用于获取到后端传过来的数据,这里是json格式,如果是XML格式则使用
// var result = xhr.responseXML;
var result = xhr.responseText; //获取JSON数据
result = JSON.parse(result); //解析JSON数据
}
[]( )二、fetch()
----------------------------------------------------------------------------
Document
**以下资料来自[MDN]( )官方可供参考**
// Example POST method implementation:
async function postData(url = '', data = {}) {
// Default options are marked with *
const response = await fetch(url, {
method: 'POST', // *GET, POST, PUT, DELETE, etc.
mode: 'cors', // no-cors, *cors, same-origin
cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
credentials: 'same-origin', // include, *same-origin, omit
headers: {
'Content-Type': 'application/json'
// 'Content-Type': 'application/x-www-form-urlencoded',
},
redirect: 'follow', // manual, *follow, error
referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
body: JSON.stringify(data) // body data type must match "Content-Type" header
});
return response.json(); // parses JSON response into native JavaScript objects
}
postData('example.com/answer', { answer: 42 })
.then(data => {
console.log(data); // JSON data parsed by `data.json()` call
});
[

创作打卡挑战赛 
赢取流量/现金/CSDN周边激励大奖