详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

目录

1. 打开浏览器开发者工具

2. 使用 Network 面板

3. 查看具体的API请求

a. Headers​

b. Payload​

c. Response​

d. Preview

e. Timing​

4. 实际操作步骤

5. 常见问题及解决方法

a. 无法看到API请求

b. 请求失败

c. 跨域问题(CORS)

作为一名后端工程师,理解前端如何调用接口、传递参数以及接收返回值是非常重要的。下面将详细介绍如何通过浏览器开发者工具(F12)查看和分析这些信息,并附带图片案例帮助你更好地理解。

1. 打开浏览器开发者工具

按下 F12 或右键点击页面选择“检查”可以打开浏览器的开发者工具。常用的浏览器如Chrome、Firefox等都内置了开发者工具。下面是我选择我的一篇文章,打开开发者工具进行演示。

2. 使用 Network 面板

在开发者工具中,Network 面板用于监控和分析所有网络请求。以下是 Network 面板中的几个重要选项及其含义:

Name:显示请求的资源名称或API路径。

Status:HTTP状态码,表示请求的结果:

200 OK:成功响应。

400 Bad Request:客户端请求有误。

401 Unauthorized:未授权。

403 Forbidden:禁止访问。

404 Not Found:资源未找到。

500 Internal Server Error:服务器内部错误。

Type:资源类型,例如:

xhr(XMLHttpRequest)

fetch(现代的API请求方式)

script(JavaScript文件)

css(样式表)

img(图片)

Initiator:发起请求的源头,可能是JavaScript代码、HTML标签或其他资源。

Size:请求和响应的大小,包括头部和主体。

Time:请求的耗时,从发起请求到接收到完整响应的时间。

Waterfall:以瀑布图的形式展示每个请求的时间线,帮助你了解请求的顺序和延迟情况。

3. 查看具体的API请求

当你想查看某个具体的API请求时,可以在 Network 面板中找到对应的请求行,然后点击它展开详细信息。例如我打开我的一篇文章,查看左侧的“热门文章”的API请求,以下是一些关键部分:

a. Headers

包含请求头和响应头信息,如:

Content-Type:指定请求或响应的内容类型(如application/json)。

Authorization:用于身份验证的令牌或凭据。

Cookie:存储在客户端的会话信息。

User-Agent:标识发送请求的浏览器或客户端。

b. Payload

显示请求体的内容,即前端传递给后端的参数。对于不同类型的请求,Payload内容有所不同:

POST/PUT 请求:通常为JSON格式的数据,例如:

 { "username": "example", "password": "secret" }

GET 请求:参数通常作为URL查询字符串的一部分,例如:

 /api/users?name=John&age=30
c. Response

下面是与之相对应的前端展示:

显示后端返回的数据,通常为JSON格式。例如:

{ "id": 1, "name": "John Doe", "email": "[email protected]" }
d. Preview

以更友好的格式展示返回数据,便于阅读。对于复杂的嵌套结构,Preview 会自动格式化并提供折叠功能

e. Timing

展示请求各个阶段的时间消耗,帮助优化性能。具体分为以下几个阶段:

Queueing:请求排队等待的时间。

Stalled:请求被阻塞的时间。

DNS Lookup:解析域名的时间。

Initial Connection:建立TCP连接的时间。

SSL:SSL/TLS握手的时间。

Request Sent:发送请求的时间。

Waiting (TTFB):等待第一个字节响应的时间。

Content Download:下载响应内容的时间。

4. 实际操作步骤

假设你有一个前端页面调用了后端API来获取用户信息,你可以按照以下步骤进行查看:

打开浏览器开发者工具(F12),切换到 Network 标签页。

刷新页面或触发相关操作(如点击按钮),确保API请求被发送。

在 Network 列表中找到对应的API请求(例如/api/user)。

点击该请求行,查看详细的请求和响应信息,包括:

请求方法(GET/POST等)

请求参数(Payload)

返回结果(Response)

5. 常见问题及解决方法
a. 无法看到API请求

原因:可能你在触发请求之前没有打开开发者工具,或者过滤器设置不当。

解决方法:确保在触发请求之前已经打开了开发者工具,并且没有过滤掉API请求(可以通过输入框顶部的过滤器调整)。

b. 请求失败

原因:可能是客户端请求有误或服务器端出现问题。

解决方法:检查 Status 列是否显示了非2xx的状态码,查看 Response 中是否有错误信息。常见的错误包括:

400 Bad Request:检查请求参数是否正确。

401 Unauthorized:确认身份验证信息是否有效。

500 Internal Server Error:查看服务器日志以排查问题。

c. 跨域问题(CORS)

原因:浏览器出于安全考虑,默认不允许跨域请求。

解决方法:检查后端是否正确配置了CORS策略。确保响应头中包含以下字段:

Access-Control-Allow-Origin:允许的源地址。

Access-Control-Allow-Methods:允许的HTTP方法。

Access-Control-Allow-Headers:允许的请求头。

Read more

【Java Web学习 | 第四篇】CSS(3) -背景

【Java Web学习 | 第四篇】CSS(3) -背景

🌈个人主页: Hygge_Code🔥热门专栏:从0开始学习Java | Linux学习| 计算机网络💫个人格言: “既然选择了远方,便不顾风雨兼程” 文章目录 * CSS背景样式全解析🥝 * 4.1 背景颜色 (`background-color`) * 4.2 背景图片 (`background-image`) * 4.3 背景平铺 (`background-repeat`) * 4.4 背景图片位置 (`background-position`) * 4.5 背景图像固定 (`background-attachment`) * 4.6 背景属性复合写法 * 4.7 背景色半透明 (`rgba`) * 综合代码演示 * 学习资源推荐🐦‍🔥 CSS背景样式全解析🥝 在网页设计中,背景样式是塑造页面视觉效果的关键元素之一。通过CSS的背景属性,我们可以为页面添加丰富的视觉效果,包括背景颜色、背景图片、平铺方式、定位以及固定等。

C++ 方向 Web 自动化测试实战:以博客系统为例,从用例到报告全流程解析

C++ 方向 Web 自动化测试实战:以博客系统为例,从用例到报告全流程解析

🔥草莓熊Lotso:个人主页 ❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》 ✨生活是默默的坚持,毅力是永久的享受! 🎬 博主简介: 文章目录 * 前言: * 一. 自动化测试前置:明确测试范围与测试用例设计 * 二. 自动化测试脚本开发:Python+Selenium 实现 * 2.1 通用工具类:common/Utils.py * 2.2. 登录模块测试:cases/BlogLogin.py * 2.3. 博客列表与详情页测试:cases/BlogList.py & BlogDetail.py * 2.3.1. 列表页测试(BlogList.py) * 2.3.

Windows家用电脑也能玩转Gemma3大模型?手把手教你用Ollama+Open WebUI搭建AI聊天室

家用Windows电脑变身AI工作站:零门槛部署Gemma3大模型实战指南 你是否也曾觉得,那些动辄需要数万甚至数十万专业设备的AI大模型,离普通人的生活太过遥远?看着科技新闻里各种模型“跑分”的新闻,心里痒痒的,却苦于没有合适的硬件去亲手尝试?今天,我想和你分享一个可能颠覆你认知的事实:你手边那台用来追剧、办公的Windows家用电脑,完全有能力成为一个功能完整的AI工作站。 没错,我说的不是那些需要专业显卡、昂贵服务器的“庞然大物”,而是谷歌最新开源的Gemma3系列模型。这个家族提供了从1B到27B不同参数规模的版本,特别是经过优化的轻量级版本,对硬件的要求已经降到了令人惊喜的程度。更重要的是,整个部署过程并不需要你具备多深的系统运维知识,更像是在安装一个功能强大的软件。 这篇文章,就是为你——那些对AI技术充满好奇,但预算有限、设备普通的个人开发者、学生或技术爱好者准备的。我们将彻底抛开那些复杂的云服务配置和命令行“黑话”,用最直观、最接地气的方式,一步步将Gemma3大模型“请”到你的Windows电脑里,并给它配上一个漂亮易用的网页聊天界面。你会发现,体验前沿AI技术

Springboot 4.0十字路口:虚拟线程时代,WebFlux与WebMVC的终极选择

Springboot 4.0十字路口:虚拟线程时代,WebFlux与WebMVC的终极选择

🧑 博主简介:ZEEKLOG博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可关注公众号 “ 心海云图 ” 微信小程序搜索“历代文学”)总架构师,16年工作经验,精通Java编程,高并发设计,分布式系统架构设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。 🤝商务合作:请搜索或扫码关注微信公众号 “ 心海云图 ” Springboot 4.0十字路口:虚拟线程时代,WebFlux与WebMVC的终极选择 当虚拟线程以革命性的姿态降临Java世界,一场关于并发编程范式的静默变革正在发生。Spring开发者站在了选择的十字路口。 2023年,Java 21将虚拟线程从预览特性转为正式功能,这一变化看似只是JVM内部的优化,实则撼动了整个