前端原生API调用方法

embedded/2024/10/21 3:30:22/

目录

一、前端API调用

1. XMLHttpRequest (XHR)

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这个属性就可以了


http://www.ppmy.cn/embedded/129167.html

相关文章

Linux下Git操作

一、基本命令 1、创建 git 目录&#xff08;工作区&#xff09; mkdir gitcode 2、创建本地仓库&#xff0c;生成 .git 隐藏目录 git init 3、设置配置项 git config user.name "xxx" git config user.email "....." 4、查看配置项 git config -l …

闲说视频清晰度和各种格式、编码技术的发展历史

文章目录 引子清晰度视频格式&#xff1a;MP4、AVI 、MKV、MOV、WMV、FLV 、RMVB等等什么是视频格式MP4AVIMKVMOVWMVFLVRM / RMVB其他 编码技术&#xff1a;MPEG-1、MPEG-2、MPEG-4、RealVideo、DivX、XviD、H.264&#xff08;AVC&#xff09;、H.265&#xff08;HEVC&#xff…

【博士每天一篇文献-算法】持续学习之GEM算法:Gradient Episodic Memory for Continual Learning

1 介绍 年份&#xff1a;2017 期刊&#xff1a; Advances in neural information processing systems 引用量&#xff1a;2829 Lopez-Paz D, Ranzato M A. Gradient episodic memory for continual learning[J]. Advances in neural information processing systems, 2017…

python中堆的用法

Python 堆&#xff08;Headp&#xff09; Python中堆是一种基于二叉树存储的数据结构。 主要应用场景&#xff1a; 对一个序列数据的操作基于排序的操作场景&#xff0c;例如序列数据基于最大值最小值进行的操作。 堆的数据结构&#xff1a; Python 中堆是一颗平衡二叉树&am…

K8s高级调度--CronJob与污点容忍及亲和力

文章目录 CronJobCronJob 的核心概念Job调度时间表并发策略启动历史保留 CronJob YAML 配置示例Cron 表达式 CronJob 实际应用场景定期数据备份日志清理任务 污点和容忍污点的概念污点的三种效应污点和容忍的工作流程设置污点和容忍1. 给节点添加污点2. 给 Pod 添加容忍 实际应…

LeetCode搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2 …

六、存储过程和触发器及视图和临时表

一. 存储过程和触发器是数据库中用于实现复杂业务逻辑和自动化操作的重要工具。 下面是对存储过程和触发器的详细讲解和示例说明&#xff1a;存储过程&#xff1a; 存储过程是一组预定义的SQL语句&#xff0c;封装在数据库中并可通过名称调用。存储过程可以接受输入参数和输出…

Win10+Python3.8+GPU版tensorflow2.x环境搭建最简流程(转载学习用)

在开始之前&#xff0c;请确保你的计算机已经安装了Windows 10操作系统&#xff0c;并且具备一个支持CUDA的NVIDIA显卡。 步骤1&#xff1a;安装Python 3.8 你可以选择从Python官网下载Python 3.8的安装包。在下载过程中&#xff0c;请确保勾选“Add Python to PATH”选项&…