在 AJAX 中使用 GET 请求提交数据,主要通过 在 URL 后拼接查询参数 的方式实现,具体步骤如下:
1.构造带参数的 URL
将数据以 键=值
的形式拼接在 URL 后,多个参数间用 &
连接。例如:
var url = "https://example.com/api?param1=value1¶m2=value2";
若参数值包含特殊字符(如空格、中文等),需用 encodeURIComponent()
编码,确保 URL 合法:
var paramValue = "特殊值/空格";
var encodedParam = encodeURIComponent(paramValue);
var url = `https://example.com/api?param=${encodedParam}`;
2.发起 GET 请求
使用 XMLHttpRequest
对象发起请求,将构造好的 URL 传入 open()
方法:
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true); // 第三个参数为是否异步,一般设为 true
xhr.send(); // GET 请求的 send() 通常无参数(数据已在 URL 中)
示例:
window.onload = function() {
document.getElementById("helloBtn").onclick = function() {
var xhr = new XMLHttpRequest();
// 拼接参数(假设获取用户信息,参数为用户名和年龄)
var params = "username=John&age=30";
var url = "/ajax/ajaxrequest1?" + params;
xhr.open("GET", url, true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
// 处理响应数据
console.log(xhr.responseText);
}
};
xhr.send();
};
};
注意:
- GET 请求的参数暴露在 URL 中,不适合传输敏感数据(如密码)。
- 不同浏览器对 URL 长度有限制(一般约 4KB),不适合传输大量数据。
通过这种方式,即可在 AJAX 的 GET 请求中向服务器提交数据。