首页 > web前端 > js教程 > 正文

javascript如何发送请求_fetch api怎么用

幻影之瞳
发布: 2025-12-21 21:05:02
原创
533人浏览过
Fetch API 是 JavaScript 发送网络请求最常用、现代的方式,基于 Promise,需手动解析 response.json() 并检查 response.ok 以处理 4xx/5xx 错误,支持 async/await 语法提升可读性。

javascript如何发送请求_fetch api怎么用

JavaScript 发送网络请求,最常用、现代的方式就是 Fetch API。它基于 Promise,语法简洁,取代了老旧的 XMLHttpRequest(XHR),是目前浏览器原生支持的标准方案。

基本用法:GET 请求

最简单的场景是获取数据(比如从 JSON 接口读取用户列表):

fetch() 接收一个 URL 字符串,返回一个 Promise,成功时 resolve 一个 Response 对象(不是直接的数据!):

fetch('https://jsonplaceholder.typicode.com/posts/1')
  .then(response => {
    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}`);
    }
    return response.json(); // 注意:要手动解析 JSON
  })
  .then(data => console.log(data))
  .catch(err => console.error('请求失败:', err));
登录后复制

发送 POST 请求(带 JSON 数据)

提交表单或调用接口时常用。关键点:设置 headersbody

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

音疯
音疯

音疯是昆仑万维推出的一个AI音乐创作平台,每日可以免费生成6首歌曲。

音疯 178
查看详情 音疯
  • Content-Type 必须设为 application/json
  • body 要用 JSON.stringify() 转成字符串
  • method 显式写为 'POST'
const postData = { title: 'Hello', body: 'World', userId: 1 };

fetch('https://jsonplaceholder.typicode.com/posts', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(postData)
})
.then(res => res.json())
.then(data => console.log(data));
登录后复制

处理错误和状态码

注意:fetch 不会因 4xx/5xx 状态码自动 reject,它只在网络完全失败(如断网、DNS 错误)时才进 catch。所以得手动检查 response.okresponse.status

  • response.ok 是布尔值,等价于 status >= 200 && status
  • 404、500 等响应仍会走 then,需在 then 里判断并 throw 错误,才能被后续 catch 捕获

使用 async/await 写法(更清晰)

配合 async 函数,代码更接近同步逻辑,易读易维护:

async function getUser(id) {
  try {
    const res = await fetch(`/api/users/${id}`);
    if (!res.ok) throw new Error(`HTTP ${res.status}`);
    const user = await res.json();
    return user;
  } catch (err) {
    console.error('加载用户失败:', err);
    throw err;
  }
}

// 调用
getUser(123).then(u => console.log(u));
登录后复制

基本上就这些。Fetch API 不复杂但容易忽略 response 解析和错误判断细节。用熟了比封装过的库更轻量、更可控。

以上就是javascript如何发送请求_fetch api怎么用的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号