AJAX get请求如何提交数据呢?

在 AJAX 中使用 GET 请求提交数据,主要通过 在 URL 后拼接查询参数 的方式实现,具体步骤如下:

1.构造带参数的 URL

将数据以 键=值 的形式拼接在 URL 后,多个参数间用 & 连接。例如:

复制代码
var url = "https://example.com/api?param1=value1&param2=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 请求中向服务器提交数据。

相关推荐
Wect1 分钟前
React 性能优化精讲
前端·react.js·性能优化
追风筝的人er35 分钟前
SpringBoot+Vue3 企业考勤如何处理法定假期?节假日方案、调休补班与工作日判断链路拆解
前端·vue.js·后端
无敌的黑星星44 分钟前
Java8 CompletableFuture 实战指南
linux·前端·python
雁鸣零落1 小时前
如何在 Chrome 中查看其他浏览器的书签?书签空间订阅与侧边栏只读切换指南
前端·chrome·edge浏览器
hpoenixf1 小时前
一天上线 + 零返工:我如何给复杂前端需求建立“安全感”
前端
广州华水科技2 小时前
单北斗GNSS变形监测系统在水利工程安全保障中的应用与优势分析
前端
yqcoder2 小时前
CSS 外边距重叠(Margin Collapsing):现象、原理与完美解决方案
前端·css
山楂树の3 小时前
图像标注大坑:img图片 + Canvas 叠加标注,同步放大后标注位置偏移、对不齐?详解修复方案及亚像素处理原理
前端·css·学习·canva可画
本山德彪3 小时前
我做了一个拼豆图纸生成器,把照片秒变图纸
前端
DTrader4 小时前
用TS无法实盘量化? - 实盘均线策略
前端·api