js原生ajax请求

以下是使用 JavaScript 原生的 XMLHttpRequest 对象进行 ajax 请求的示例代码:

javascript 复制代码
function ajaxRequest(method, url, data, callback) {
  var xhr = new XMLHttpRequest();

  xhr.open(method, url, true);

  if (method === 'POST') {
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  }

  xhr.onreadystatechange = function() {
    if (xhr.readyState === 4 && xhr.status === 200) {
      callback(xhr.responseText);
    }
  };

  if (method === 'POST') {
    xhr.send(data);
  } else {
    xhr.send();
  }
}

// 使用示例
ajaxRequest('GET', 'https://example.com/data', null, function(response) {
  console.log(response);
});

ajaxRequest('POST', 'https://example.com/submit', 'key1=value1&key2=value2', function(response) {
  console.log(response);
});

在上述代码中:

  • ajaxRequest 函数接受请求方法(method)、请求
    URL(url)、要发送的数据(data)和回调函数(callback)作为参数。
  • 通过 open 方法设置请求的方法和 URL,并指定是否异步。 根据请求方法设置相应的请求头。
  • 通过 onreadystatechange 事件监听请求状态的变化,当请求完成且状态码为 200 时,调用回调函数处理响应数据。
  • 最后根据请求方法发送数据。

例如,在上面的使用示例中,分别进行了 GET 和 POST 请求,并在回调函数中打印响应的文本内容。

相关推荐
JieE2122 小时前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
candyTong5 小时前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构
_柳青杨9 小时前
深入理解 JavaScript 事件循环
前端·javascript
大家的林语冰14 小时前
ES5 凉凉,Babel 8 正式发布,默认不再编译为 ES5 和 CJS......
前端·javascript·前端工程化
weedsfly16 小时前
异步编程全景与事件循环——彻底搞懂 JS 执行机制
前端·javascript
用户17335980753716 小时前
纯前端 PDF 数字签名实战:Vue 3 + pdf-lib 在浏览器里完成签名嵌入
前端·javascript
JieE2121 天前
LeetCode 226. 翻转二叉树|JS 递归超详细拆解,二叉树入门经典题
javascript·算法
JieE2121 天前
LeetCode 104. 二叉树的最大深度|递归思路超详细拆解
javascript·算法
kyriewen1 天前
我用 AI 一周写完了整个项目,上线第一天就崩了——这是我踩过最贵的 5 个坑
前端·javascript·ai编程
Larcher1 天前
AI Loop:让AI像人一样自主完成任务的核心机制
javascript·人工智能·设计模式