05_前后端交互技术之Ajax案例讲解
// 假设我们有一个用户列表,我们想通过Ajax异步获取用户数据
// 创建一个新的 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
// 配置请求类型、URL 以及是否异步处理
xhr.open('GET', '/api/users', true);
// 设置请求完成的回调函数
xhr.onreadystatechange = function () {
// 请求完成并且响应状态码为 200
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
// 处理请求成功的响应数据
console.log(xhr.responseText);
// 更新页面的用户列表
updateUserList(JSON.parse(xhr.responseText));
} else {
// 处理请求失败
console.error('请求失败,状态码:' + xhr.status);
}
}
};
// 发送请求
xhr.send();
// 更新页面的用户列表函数
function updateUserList(users) {
// 假设我们有一个id为#user-list的ul元素来展示用户列表
var userList = document.getElementById('user-list');
userList.innerHTML = ''; // 清空原有列表内容
users.forEach(function (user) {
// 创建新的li元素并添加到列表中
var li = document.createElement('li');
li.textContent = user.name; // 假设用户对象有一个名字属性name
userList.appendChild(li);
});
}
这段代码展示了如何使用原生JavaScript和XMLHttpRequest对象发送异步GET请求,并在请求成功完成后更新页面上的用户列表。这是一个典型的Ajax交互流程,适用于教育目的。
评论已关闭