讲师中心 微信公众号

工具推荐

视频效率加速
updream

一键生成高质量推广成片

剧云
剧云

中文短剧剧本制作平台

Laper
Laper

剧本策划到成片协作

Seko
Seko

AI短剧一键生成成片

html5怎么调接口_html5用Ajax或Fetch API调用后端接口传数据【调用】

阿瑶大大_9530

阿瑶大大_9530

发布时间:2025-12-30 17:01:02

|

439人浏览过

|

来源于php中文网

原创

HTML5页面需用JavaScript发起网络请求与后端交互,主流方式包括XMLHttpRequest(兼容旧浏览器,需手动设头、处理状态)和Fetch API(现代标准,基于Promise,语法简洁)。

html5怎么调接口_html5用ajax或fetch api调用后端接口传数据【调用】

如果您在HTML5页面中需要与后端服务器进行数据交互,则必须通过JavaScript发起网络请求。以下是使用Ajax(XMLHttpRequest)和Fetch API两种主流方式调用后端接口并传递数据的具体操作步骤:

一、使用XMLHttpRequest发送POST请求

XMLHttpRequest是传统且兼容性极强的原生API,适用于需支持旧版浏览器的场景。它允许手动设置请求头、处理状态码,并支持同步或异步通信。

1、创建XMLHttpRequest实例对象。

2、调用open()方法指定请求方式(如POST)、目标URL及是否异步(通常为true)。

立即学习“前端免费学习笔记(深入)”;

3、设置Content-Type请求头为application/json,确保后端能正确解析JSON数据。

4、将待发送的数据通过JSON.stringify()序列化为字符串。

5、调用send()方法传入序列化后的数据。

6、监听onload事件,在status为200时读取responseText或response属性获取响应内容。

二、使用Fetch API发送GET请求

Fetch API是现代浏览器推荐的标准接口,基于Promise设计,语法简洁,天然支持异步处理。GET请求通常用于获取资源,参数通过URL查询字符串传递。

1、构造包含查询参数的完整URL,例如"https://api.example.com/data?id=123&type=user"。

2、调用fetch()函数并传入该URL。

3、使用then()链式处理响应,先调用response.json()解析JSON格式响应体。

4、在后续then()中处理解析后的数据对象。

5、使用catch()捕获网络错误或解析异常,避免未处理的Promise rejection。

三、使用Fetch API发送带JSON数据的POST请求

Fetch默认不发送Cookie且不会自动设置Content-Type,因此需显式配置请求选项以匹配后端期望的格式。发送结构化数据时应确保头部与载荷一致。

1、定义待提交的数据对象,例如{username: "admin", password: "123456"}。

DeepBI DHTML 页面生成器
DeepBI DHTML 页面生成器

生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur

下载

2、将该对象通过JSON.stringify()转为字符串。

3、配置init对象,设置method为"POST",headers中包含"Content-Type": "application/json"。

4、将序列化后的字符串赋值给body字段。

5、调用fetch(URL, init)发起请求。

6、依次调用response.json()和后续then()处理返回结果。

四、使用FormData上传表单数据

当需提交文件或混合类型表单(如文本字段+文件输入)时,FormData接口可自动编码数据并设置正确的multipart/form-data请求头,无需手动构造边界符。

1、创建新的FormData实例。

2、调用append()方法逐个添加键值对,例如form.append("name", "张三")。

3、若存在文件输入元素,获取其files[0]并append进FormData,键名与后端约定一致。

4、调用fetch()时直接将FormData实例作为body传入,此时不可设置Content-Type头,浏览器会自动生成带boundary的正确头信息。

5、响应处理方式与其他Fetch请求相同。

五、处理跨域请求与CORS预检

当前端页面协议、域名或端口与后端不一致时,浏览器会触发CORS机制。简单请求(如GET/POST且Content-Type为text/plain、application/x-www-form-urlencoded或multipart/form-data)可能免预检;含自定义头或application/json的POST则触发OPTIONS预检。

1、确保后端响应头中包含Access-Control-Allow-Origin,其值需匹配前端源或设为*(仅限无凭证请求)。

2、若需携带Cookie或认证头,前端fetch调用中必须设置credentials: "include",且后端需返回Access-Control-Allow-Credentials: true。

3、对于预检失败的情况,检查后端是否正确响应OPTIONS请求,包括Access-Control-Allow-Methods、Access-Control-Allow-Headers等头字段。

4、确认请求中未出现浏览器禁止的头字段,例如Host、Content-Length等。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

函子Zion

一款支持AI搭建、可视化编辑和多端发布的全栈无代码开发平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Flowith
Flowith Hot

Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2335

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

3822

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

1256

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

4439

2025.09.10

html5动画制作有哪些制作方法
html5动画制作有哪些制作方法

html5动画制作方法有使用CSS3动画、使用JavaScript动画库、使用HTML5 Canvas等。想了解更多html5动画制作方法相关内容,可以阅读本专题下面的文章。

4831

2023.10.23

HTML与HTML5的区别
HTML与HTML5的区别

HTML与HTML5的区别:1、html5支持矢量图形,html本身不支持;2、html5中可临时存储数据,html不行;3、html5新增了许多控件;4、html本身不支持音频和视频,html5支持;5、html无法处理不准确的语法,html5能够处理等等。想了解更多HTML与HTML5的相关内容,可以阅读本专题下面的文章。

8668

2024.03.06

html5从入门到精通汇总
html5从入门到精通汇总

想系统掌握HTML5开发?本合集精选全网优质学习资源,涵盖免费教程、实战项目、视频课程与权威电子书,从基础语法到高级特性(Canvas、本地存储、响应式布局等)一应俱全,适合零基础小白到进阶开发者,助你高效入门并精通HTML5前端开发。

894

2025.12.30

html5新老标签汇总
html5新老标签汇总

HTML5在2026年持续优化网页语义化与交互体验,不仅引入了如<header>、<nav>、<article>、<section>、<aside>、<footer>等结构化标签,还新增了<video>、<audio>、<canvas>、<figure>、<time>、<mark>等增强多媒体与

754

2025.12.30

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

0

2026.11.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WebStorm 官方调试文档
WebStorm 官方调试文档

共0课时 | 0人学习

React 教程
React 教程

共58课时 | 12.5万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 6.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn