最常用、最推荐的JavaScript网络请求方式是fetch() API。它基于Promise、原生支持、简洁高效;支持GET/POST等方法,需手动处理HTTP错误和凭证配置;相比XMLHttpRequest更现代,推荐新项目使用。

用 JavaScript 发起网络请求,最常用、最推荐的方式是使用 fetch() API。它简洁、基于 Promise、原生支持,无需额外库。
基础用法:GET 请求
发起一个简单的 GET 请求,获取 JSON 数据:
调用 fetch(url),返回一个 Promise 用 .then() 处理响应,注意 response.json() 也返回 Promise 记得用 .catch() 捕获网络错误(注意:404、500 等 HTTP 错误不会进 catch,需手动检查 response.ok)fetch(‘https://jsonplaceholder.typicode.com/posts/1’)
.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 请求(带数据)
提交表单或调用接口时常用 POST。关键点:
设置 method: ‘POST’ 用 headers 声明内容类型,如 ‘Content-Type’: ‘application/json’ 用 body 传数据,JSON 需先 JSON.stringify()fetch(‘https://jsonplaceholder.typicode.com/posts’, {
method: ‘POST’,
headers: { ‘Content-Type’: ‘application/json’ },
body: JSON.stringify({
title: ‘我的标题’,
body: ‘我的内容’,
userId: 1
})
})
.then(res => res.json())
.then(console.log);
处理 Cookie 和认证(如登录态)
默认 fetch 不发送 Cookie,跨域时也不携带凭证。需要显式配置:
立即学习“Java免费学习笔记(深入)”;
同域请求加 credentials: ‘same-origin’ 可发 Cookie 跨域请求需同时设 credentials: ‘include’,且服务端必须允许(CORS 响应头含 Access-Control-Allow-Credentials: true) 带 Token 认证?直接在 headers 里加 Authorizationfetch(‘/api/profile’, {
credentials: ‘include’,
headers: {
‘Authorization’: ‘Bearer abc123’
}
});
替代方案:XMLHttpRequest(不推荐新项目用)
XMLHttpRequest 是传统方式,兼容性好但写法冗长、回调嵌套深。除非要支持 IE11 或特殊流式处理,否则优先选 fetch。
基本上就这些。fetch 覆盖绝大多数场景,配合 async/await 写起来更清晰。需要上传文件、进度监听或取消请求?可以进一步封装或搭配 AbortController 使用。
以上就是如何用Javascript发起网络请求?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1543029.html
微信扫一扫
支付宝扫一扫