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

相关推荐
天下无贼!29 分钟前
2024年最新版TypeScript学习笔记——泛型、接口、枚举、自定义类型等知识点
前端·javascript·vue.js·笔记·学习·typescript·html
小白小白从不日白1 小时前
react 高阶组件
前端·javascript·react.js
程序员大金1 小时前
基于SpringBoot+Vue+MySQL的智能物流管理系统
java·javascript·vue.js·spring boot·后端·mysql·mybatis
LJ小番茄3 小时前
Vue 常见的几种通信方式(总结)
前端·javascript·vue.js·html
pan_junbiao6 小时前
Vue组件:模板引用ref属性的使用
前端·javascript·vue.js
陶甜也6 小时前
前后端分离,使用MOCK进行数据模拟开发,让前端攻城师独立于后端进行开发
前端·okhttp
__lucas6 小时前
javascript-装饰器
开发语言·javascript·ecmascript
春蕾夏荷_7282977257 小时前
electron nsis打包windows应用程序
javascript·windows·electron·nsis
想退休的搬砖人7 小时前
vue组件的生命周期
前端·javascript·vue.js