上一篇: 异步请求和回调函数
下一篇: 跨域请求
POST 和 GET方法
前言
在开始之前,请确保您具备以下基础知识:
- HTML
- CSS
- JavaScript
XMLHttpRequest对象
XMLHttpRequest 是一个JavaScript对象,用于在客户端与服务器之间发送HTTP请求和接收HTTP响应。通过使用这个对象,我们可以实现非阻塞性的(异步)数据交换。
Ajax GET方法
使用Ajax的GET方法从服务器获取数据时,我们需要发送HTTP GET请求。以下是一个使用GET方法的示例:
// 创建XMLHttpRequest对象 var xhttp = new XMLHttpRequest(); // 定义回调函数,当请求状态发生变化时执行 xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { // 请求成功时的操作,例如更新页面内容 document.getElementById("demo").innerHTML = this.responseText; } }; // 初始化HTTP请求 xhttp.open("GET", "example.php", true); // 发送请求 xhttp.send();
Ajax POST方法
使用Ajax的POST方法向服务器发送数据时,我们需要使用HTTP POST请求。以下是一个使用POST方法的示例:
// 创建XMLHttpRequest对象 var xhttp = new XMLHttpRequest(); // 定义回调函数,当请求状态发生变化时执行 xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { // 请求成功时的操作,例如更新页面内容 document.getElementById("demo").innerHTML = this.responseText; } }; // 初始化HTTP请求 xhttp.open("POST", "example.php", true); // 设置请求头部,告诉服务器我们将发送URL编码的数据 xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // 发送请求,并附带数据 xhttp.send("param1=value1¶m2=value2");
示例 - 获取和显示用户数据
以下示例演示了如何使用Ajax GET方法从服务器获取JSON格式的用户数据并在页面上显示:
<!DOCTYPE html> <html> <head> <script> function loadUserData() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { displayUserData(JSON.parse(this.responseText)); } }; xhttp.open("GET", "get_user_data.php", true); xhttp.send(); } function displayUserData(userData) { var output = "<ul>"; for (var key in userData) { output += "<li>" + key + ": " + userData[key] + "</li>"; } output += "</ul>"; document.getElementById("userData").innerHTML = output; } </script> </head> <body> <button onclick="loadUserData()">Get User Data</button> <div id="userData"></div> </body> </html>
总结
通过本教程,您已经学会了如何使用Ajax POST和GET方法来实现异步数据交换。请务必注意在实际开发中确保数据传输安全,避免暴露敏感信息或引起跨站脚本(XSS)攻击等问题。