在不利用axios和ajax实现get请求

发布时间 2023-08-16 16:02:14作者: 翎刿

在正常的前端开发中,如果不使用 AJAX 或 Axios 库发送 GET 请求,可以使用原生的 JavaScript 发送请求。

可以使用 XMLHttpRequest 对象来发送 GET 请求。下面是一个示例:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);

xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    var response = JSON.parse(xhr.responseText);
    // 处理响应数据
  }
};

xhr.send();

上述代码中,我们创建了一个 XMLHttpRequest 对象,并使用 open 方法指定请求的方法和 URL。然后,通过设置 onreadystatechange 事件回调来监听请求状态的变化。当 readyState 的值为 4,表示请求已完成,而 status 的值为 200,表示请求成功。在成功的回调中,我们可以通过 responseText 获取响应数据,并进行处理。

需要注意的是,使用原生的 XMLHttpRequest 对象发送请求可能需要处理跨域请求、请求超时、错误处理等其他细节。为了简化这些操作,并提供更方便的请求和响应处理,AJAX 库(如 Axios)被广泛使用。

Axios 是一个基于 Promise 的浏览器和 Node.js 的 HTTP 客户端,可以更方便地发送请求和处理响应。下面是使用 Axios 发送 GET 请求的示例:

axios.get('https://api.example.com/data')
  .then(function(response) {
    // 处理响应数据
  })
  .catch(function(error) {
    // 处理请求错误
  });

使用 Axios 可以更方便地处理请求和响应,而无需手动处理 XMLHttpRequest 的细节。