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

相关推荐
iamtsfw1 小时前
记录:express router,可以让node.js后端文件里的路由分布的更清晰
前端·node.js
黑匣子~2 小时前
Vue 3 官方 Hooks 的用法与实现原理
前端·javascript·vue.js
Yvonne爱编码2 小时前
CSS-5.1 Transition 过渡
前端·css·状态模式·html5·hbuilder
恰恰兄2 小时前
webpack性能优化
前端·webpack·node.js
23级二本计科2 小时前
对Web界面进行简单自动化测试Selenium
前端·数据库
霍志杰4 小时前
iframe加载或者切换时候,短暂的白屏频闪问题解决
前端·javascript·chrome
李小白664 小时前
论坛系统(中-2)
前端
曼汐 .5 小时前
企业网站架构部署与优化-Nginx核心功能
前端·nginx·架构
YUNYINGXIA5 小时前
Python实现Web请求与响应
开发语言·前端·python
愛芳芳5 小时前
vue3+element-plus+pinia完整搭建好看简洁的管理后台
前端·javascript·vue.js