值得一看
广告
彩虹云商城
广告

热门广告位

使用Fetch API进行网络请求_javascript ajax

Fetch API 提供简洁的 Promise 风格网络请求,支持 GET/POST 等方法,需手动检查响应状态,可结合 AbortController 实现超时控制,推荐用于现代 JavaScript 开发。

使用fetch api进行网络请求_javascript ajax

Fetch API 是现代 JavaScript 中用于发起网络请求的一种简洁、强大的方式。相比传统的 XMLHttpRequest,它使用 Promise 风格的语法,代码更清晰,也更容易处理异步操作。

基本用法

fetch() 函数接收一个 URL 或路径作为参数,默认发起 GET 请求,返回一个 Promise。


fetch(‘https://jsonplaceholder.typicode.com/posts/1’)
.then(response => response.json())
.then(data => console.log(data));

上面代码请求一个 JSON 接口,先调用 response.json() 将响应体解析为 JSON,再输出结果。

处理响应状态

fetch() 只有在网络错误时才会 reject Promise,HTTP 状态码如 404 或 500 不会自动触发错误。需要手动检查 response.ok 或 status。

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


fetch(‘/api/data’)
.then(response => {
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return response.json();
})
.then(data => console.log(data))
.catch(err => console.error(‘请求失败:’, err));

发送 POST 请求

通过配置 options 对象,可以发送 POST、PUT 等其他方法的请求。

行者AI

行者AI

行者AI绘图创作,唤醒新的灵感,创造更多可能

行者AI
100

查看详情
行者AI


fetch(‘/api/posts’, {
method: ‘POST’,
headers: {
‘Content-Type’: ‘application/json’,
},
body: JSON.stringify({
title: ‘新文章’,
body: ‘内容内容’,
userId: 1
})
})
.then(response => response.json())
.then(data => console.log(data));

注意设置 Content-Type 头,确保服务器正确解析 JSON 数据。

处理常见格式

根据服务器要求,可以发送不同格式的数据:

  • JSON:设置头为 application/json,body 使用 JSON.stringify()
  • 表单数据:使用 FormData 对象,无需手动设头(浏览器自动加 boundary)

  • const formData = new FormData();
    formData.append(‘name’, ‘Alice’);
    formData.append(‘file’, fileInput.files[0]);
    fetch(‘/upload’, {
    method: ‘POST’,
    body: formData
    });

  • 纯文本:body 直接传字符串,可选设 text/plain 类型

错误处理与超时

fetch 不支持原生超时,但可以用 Promise.race 实现:


const abort = new AbortController();
setTimeout(() => abort.abort(), 5000); // 5秒超时
fetch(‘/api/data’, { signal: abort.signal })
.then(r => r.json())
.catch(err => {
if (err.name === ‘AbortError’) {
console.log(‘请求超时或被取消’);
} else {
console.error(‘其他错误:’, err);
}
});

使用 AbortController 可主动中止请求,适合用户离开页面等场景。

基本上就这些。Fetch API 简洁易用,配合 async/await 更加流畅。现代开发中推荐优先使用 fetch 而非传统 Ajax。

相关标签:

javascript java js json ajax 浏览器 app ai 状态码 JavaScript json ajax if throw catch Error const 字符串 接口 signal append console 对象 promise 异步 http https

大家都在看:

JavaScript中实现面向对象动画与this上下文的正确处理
JavaScript垃圾回收算法
JavaScript与CSS协同实现基于预定义颜色映射的文本高亮显示教程
JavaScript中高效拆分大型对象:利用reduce优化性能
深入理解JavaScript事件委托:精确识别点击目标与事件穿透技巧
温馨提示: 本文最后更新于2025-11-05 22:39:54,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞5赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容