上一篇: 数据格式
下一篇: 异步请求和回调函数
基础示例代码
示例1:使用GET方法获取文本数据
以下是一个简易的AJAX示例,展示了如何创建XMLHttpRequest对象、发送GET请求获取文本数据,并在页面上显示结果。
HTML部分:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>AJAX GET Example</title> </head> <body> <h1>AJAX GET Request Example</h1> <button type="button" onclick="loadData()">Load Data</button> <div id="result"></div> <script src="app.js"></script> </body> </html>
JavaScript部分(app.js):
function loadData() { // 创建XMLHttpRequest对象 var xhr = new XMLHttpRequest(); // 配置请求信息 xhr.open("GET", "example.txt", true); // 当状态发生变化时触发事件 xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // 获取服务器响应的文本内容 var responseData = xhr.responseText; // 更新页面内容 document.getElementById("result").innerHTML = responseData; } }; // 发送请求 xhr.send(); }
示例2:使用POST方法提交表单数据
以下示例展示了如何使用AJAX POST方法向服务器发送表单数据,并处理服务器返回的结果。
HTML部分:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>AJAX POST Example</title> </head> <body> <h1>AJAX POST Request Example</h1> <form id="myForm" onsubmit="return submitData()"> <label for="username">Username:</label> <input type="text" id="username" name="username" required><br> <label for="email">Email:</label> <input type="email" id="email" name="email" required><br> <input type="submit" value="Submit"> </form> <div id="result"></div> <script src="app.js"></script> </body> </html>
JavaScript部分(app.js):
function submitData() { // 创建XMLHttpRequest对象 var xhr = new XMLHttpRequest(); // 获取表单数据 var username = document.getElementById("username").value; var email = document.getElementById("email").value; // 配置请求信息 xhr.open("POST", "submit_form.php", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // 当状态发生变化时触发事件 xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // 获取服务器响应的文本内容 var responseData = xhr.responseText; // 更新页面内容 document.getElementById("result").innerHTML = responseData; } }; // 发送请求 xhr.send("username=" + encodeURIComponent(username) + "&email=" + encodeURIComponent(email)); // 阻止表单默认提交行为 return false; }
注意,上述示例中的服务器端处理文件 submit_form.php
需根据实际情况编写。可以根据需要将数据保存到数据库、发送邮件等,并返回相应的提示信息。
结束语
通过以上两个示例,您已经学会了如何使用AJAX发送GET和POST请求,以及如何处理服务器返回的数据来更新页面内容。在实际开发过程中,您可能还需要关注错误处理、超时处理、跨域请求等问题,请继续关注相关教程和学习资源。