Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js 请求接口

作者:冥界少主   发布日期:2025-07-29   浏览:31

// 使用 XMLHttpRequest 发起 GET 请求
function getRequest(url, callback) {
    var xhr = new XMLHttpRequest();
    xhr.open("GET", url, true);
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4 && xhr.status === 200) {
            // 请求成功,调用回调函数处理响应数据
            callback(null, JSON.parse(xhr.responseText));
        } else if (xhr.readyState === 4) {
            // 请求失败,调用回调函数传递错误信息
            callback(new Error('请求失败'));
        }
    };
    xhr.send();
}

// 示例:发起一个 GET 请求
getRequest('https://api.example.com/data', function (err, data) {
    if (err) {
        console.error(err);
    } else {
        console.log(data);
    }
});

// 使用 Fetch API 发起 GET 请求
async function fetchRequest(url) {
    try {
        let response = await fetch(url);
        if (!response.ok) {
            throw new Error('网络响应失败');
        }
        let data = await response.json();
        console.log(data);
    } catch (error) {
        console.error('请求出错:', error);
    }
}

// 示例:发起一个 GET 请求
fetchRequest('https://api.example.com/data');

// 使用 Axios 发起 GET 请求
// 需要先安装 axios: npm install axios
const axios = require('axios');

async function axiosRequest(url) {
    try {
        let response = await axios.get(url);
        console.log(response.data);
    } catch (error) {
        console.error('请求出错:', error);
    }
}

// 示例:发起一个 GET 请求
axiosRequest('https://api.example.com/data');

解释说明:

  1. XMLHttpRequest:这是传统的 AJAX 请求方式,通过 XMLHttpRequest 对象发起 HTTP 请求。代码中展示了如何使用它发起一个 GET 请求,并在请求完成后通过回调函数处理响应数据。

  2. Fetch API:这是现代浏览器提供的原生 API,用于发起 HTTP 请求。它返回一个 Promise,可以使用 async/await 语法简化异步代码的编写。

  3. Axios:这是一个基于 Promise 的 HTTP 客户端库,支持浏览器和 Node.js。它提供了更简洁的 API 和更多的功能(如自动转换 JSON、拦截器等)。需要通过 npm 安装后使用。

以上三种方式都可以用来发起 HTTP 请求,选择哪种方式取决于你的项目需求和个人偏好。

上一篇:js 数组头部添加

下一篇:js 字符串转long

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js json数组

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 点击空白区域触发事件

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站