最现代、推荐的JavaScript网络请求方式是Fetch API。它基于Promise、语法简洁、取代XMLHttpRequest,支持GET/POST等方法,需手动检查response.ok处理HTTP错误,响应体用.json()等方法读取,支持credentials、cache、signal等配置项。
JavaScript 发送网络请求,最现代、推荐的方式是使用原生的 Fetch API。它基于 Promise,语法简洁,取代了老旧的 XMLHttpRequest,且被所有主流浏览器(包括 Edge 18+)良好支持。
最常见的是发起一个 GET 请求,比如从 JSON 接口拉取用户列表:
示例:
fetch('https://jsonplaceholder.typicode.com/users')
.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,并设置请求头和请求体:
'Content-Type': 'application/json'
示例:
const userData = { name: '张三', email: 'zhang@example.com' };
fetch('https://jsonplaceholder.typicode.com/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(userData)
})
.then(res => res.json())
.then(data => console.log('创建成功:', data));
fetch 支持多种配置项,实用的有:
'include'(登录态必需)或 'same-origin'
'no-cache' 或 'force-cache',避免意外缓存别只依赖 .catch()——它捕获不了 HTTP 错误,也不处理超时。建议:
基本上就这些。Fetch API 不复杂但容易忽略细节,掌握好基础用法和错误边界,就能稳稳替代 jQuery.ajax 或手写 XHR。