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

相关推荐
春天姐姐1 小时前
vue知识点总结 依赖注入 动态组件 异步加载
前端·javascript·vue.js
Pop–3 小时前
Vue3 el-tree:全选时只返回父节点,半选只返回勾选中的节点(省-市区-县-镇-乡-村-街道)
开发语言·javascript·vue.js
滿3 小时前
Vue3 + Element Plus 动态表单实现
javascript·vue.js·elementui
阿金要当大魔王~~3 小时前
面试问题(连载。。。。)
前端·javascript·vue.js
yuanyxh3 小时前
commonmark.js 源码阅读(一) - Block Parser
开发语言·前端·javascript
进取星辰3 小时前
22、城堡防御工事——React 19 错误边界与监控
开发语言·前端·javascript
ドロロ8064 小时前
element-plus点击重置表单,却没有进行重置操作
javascript·vue.js·elementui
t_hj6 小时前
Ajax案例
前端·javascript·ajax
未脱发程序员7 小时前
分享一款开源的图片去重软件 ImageContrastTools,基于Electron和hash算法
前端·javascript·electron
geovindu7 小时前
vue3: pdf.js 2.16.105 using typescript
javascript·vue.js·typescript·pdf