前端原生API调用方法

目录

一、前端API调用

[1. XMLHttpRequest (XHR)](#1. XMLHttpRequest (XHR))

[2. Fetch API](#2. Fetch API)

二、建立后端供前端调用API

三、调用API

xhr调用的

fetch调用的

控制台

四、页面跳转(重定向)


一、前端API调用

1. XMLHttpRequest (XHR)

XMLHttpRequest 是一个较老但仍然广泛使用的 API,用于发送异步 HTTP 请求。它在现代浏览器中得到了很好的支持,并且可以处理各种类型的请求(GET、POST 等)。

示例代码

javascript 复制代码
function xhrApi() {
    const xhr = new XMLHttpRequest();
    xhr.open('GET', 'http://localhost:11451/hello', true);
    xhr.onload = function () {
        if (xhr.status === 200) {
            console.log(xhr.responseText);
        } else {
            console.error('Request failed.  Returned status of ' + xhr.status);
        }
    };
    xhr.send();
}

2. Fetch API

**fetch**是现代浏览器内置的一个基于 Promise 的 HTTP 请求库,用于发送网络请求。它提供了更简洁和现代的 API,并且支持更多的功能,如自动解析 JSON 数据等。

示例代码

javascript 复制代码
function fetchApi() {
    fetch('http://localhost:11451/hello')
        .then(response => {
            if (!response.ok) {
                throw new Error('Network response was not ok');
            }
            return response.text();
        })
        .then(data => {
            console.log(data);
        })
        .catch(error => {
            console.error('There was a problem with the fetch operation:', error);
        });
}

二、建立后端供前端调用API

建立一个后端项目先

然后我们修改一下配置文件

java 复制代码
server:
  port: 11451

然后写一下controller

java 复制代码
package com.xingzai.apitest.controller;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author 无敌の星仔<br>
 * 2024/10/13 下午4:33
 */
@RestController
@Slf4j
public class ApiController {
    @CrossOrigin("*")
    @GetMapping("/hello")
    public String hello() {
        log.info("被调用了");
        return "Hello world";
    }
}

主启动类

java 复制代码
package com.xingzai.apitest;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ApiTestApplication {

    public static void main(String[] args) {
        SpringApplication.run(ApiTestApplication.class, args);
    }

}

然后我们启动。

三、调用API

xhr调用的

fetch调用的

几乎就没有区别

控制台

我们看看控制台

所以我们原生的调用就有这么两种办法,而且大家在平时用F12的时候也没少看到,我们网络的筛选方案里就有个Fetch/XHR

所以我们开发的时候也是注意是给新浏览器用的还是给全部浏览器用的

四、页面跳转(重定向)

这个其实很简单,我们想要重定向直接修改window.location.href这个属性就可以了

相关推荐
程序员小寒9 小时前
前端高频面试题之Vuex篇
前端·javascript·面试
草莓熊Lotso9 小时前
C++ 二叉搜索树(BST)完全指南:从概念原理、核心操作到底层实现
java·运维·开发语言·c++·人工智能·经验分享·c++进阶
网硕互联的小客服9 小时前
如何解决 Linux 文件系统挂载失败的问题?
linux·服务器·前端·网络·chrome
oliveira-time9 小时前
单例模式中的饿汉式
java·开发语言
门思科技9 小时前
主流 LoRaWAN 网络服务器深度对比:ThinkLink、TTS、ChirpStack、Loriot 与 Actility 选型指南
运维·服务器·网络
凌波粒9 小时前
SpringMVC基础教程(1)--MVC/DispathcerServlet
java·spring·mvc
武子康9 小时前
Java-173 Neo4j + Spring Boot 实战:从 Driver 到 Repository 的整合与踩坑
java·数据库·spring boot·后端·spring·nosql·neo4j
凌波粒9 小时前
SpringMVC基础教程(2)--Controller/RestFul风格/JSON/数据转发和重定向
java·后端·spring·json·restful
老鼠只爱大米10 小时前
Java 设计模式之适配器模式:系统集成的万能接口
java·设计模式·适配器模式·adapter·java设计模式
一叶飘零_sweeeet10 小时前
Java+EasyExcel 打造学习平台视频学习时长统计系统
java·报表·easyexcel