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 请求中向服务器提交数据。

相关推荐
mCell5 小时前
GSAP ScrollTrigger 详解
前端·javascript·动效
gnip5 小时前
Node.js 子进程:child_process
前端·javascript
excel8 小时前
为什么在 Three.js 中平面能产生“起伏效果”?
前端
excel10 小时前
Node.js 断言与测试框架示例对比
前端
天蓝色的鱼鱼11 小时前
前端开发者的组件设计之痛:为什么我的组件总是难以维护?
前端·react.js
codingandsleeping11 小时前
使用orval自动拉取swagger文档并生成ts接口
前端·javascript
石金龙12 小时前
[译] Composition in CSS
前端·css
白水清风12 小时前
微前端学习记录(qiankun、wujie、micro-app)
前端·javascript·前端工程化
Ticnix12 小时前
函数封装实现Echarts多表渲染/叠加渲染
前端·echarts
用户221520442780012 小时前
new、原型和原型链浅析
前端·javascript