js原生ajax请求

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

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 请求,并在回调函数中打印响应的文本内容。

相关推荐

  1. js原生ajax请求

    2024-07-16 16:30:04       23 阅读
  2. Ajax 请求原理

    2024-07-16 16:30:04       58 阅读
  3. js ajax初次跨域请求

    2024-07-16 16:30:04       30 阅读
  4. js请求封装ajax、统一响应

    2024-07-16 16:30:04       32 阅读
  5. 原生js封装请求组件

    2024-07-16 16:30:04       32 阅读
  6. 前端如何中断请求 ( axios、原生 ajax、fetch)

    2024-07-16 16:30:04       56 阅读
  7. js普通ajax数据请求和axios请求数据代码及总结

    2024-07-16 16:30:04       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 16:30:04       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 16:30:04       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 16:30:04       62 阅读
  4. Python语言-面向对象

    2024-07-16 16:30:04       72 阅读

热门阅读

  1. Oracle权限语句(创建用户,系统权限管理)

    2024-07-16 16:30:04       21 阅读
  2. 05 - FFmpeg 提取 PCM 音频裸数据

    2024-07-16 16:30:04       19 阅读
  3. Linux exec 命令和Python exec 函数 区别

    2024-07-16 16:30:04       25 阅读
  4. Nextjs 调用组件内的方法

    2024-07-16 16:30:04       23 阅读
  5. HW面试经验分享 | 北京蓝中研判岗

    2024-07-16 16:30:04       24 阅读
  6. HOW - React Suspense 优化懒加载和异步数据加载

    2024-07-16 16:30:04       25 阅读
  7. 消息队列-RabbitMQ

    2024-07-16 16:30:04       20 阅读
  8. jquery ajax实现上传文件

    2024-07-16 16:30:04       23 阅读
  9. 八、golang基础之reflect反射

    2024-07-16 16:30:04       18 阅读
  10. 关键字 internal

    2024-07-16 16:30:04       24 阅读
  11. c++字符串实现join方法,使用模板

    2024-07-16 16:30:04       25 阅读
  12. vue3 笔记

    2024-07-16 16:30:04       21 阅读
  13. Hive 常见问题

    2024-07-16 16:30:04       18 阅读