Fetch发送请求

fetch 是 javascript 中一个新的 api,用于访问和控制 HTTP 的请求和响应等,不再需要使用传统的 XMLHttoRequest

fetch和ajax的不同

fetch 发送请求后,返回一个 promise,只有在网络无法连接或者请求被阻止的时候,会返回 reject,其他情况下,fetch不会对状态码进行判断,统一返回 resolve,需要在响应数据中手动判断状态码来确定响应是否可用。

fetch 默认不会发送跨域cookies,可以在credentials选项中进行配置。

fetch使用

下面的代码展示最简单的 fetch 使用,在 fetch() 中填入一个请求路径,会得到一个响应,解析响应得到最终的数据,这里使用 json() 来解析 json 数据。

fetch("http://example.com/movies.json") // 发起请求
  .then((response) => response.json())  // 解析响应数据
  .then((data) => console.log(data));   // 打印数据

请求参数配置

fetch() 除了请求路径之外,还可以传入第二个参数,该参数类型是一个对象,可以用来控制本次请求的配置

const response = await fetch('https://example.com/answer', {
    method: "POST", 
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data), 
});

cosnt json = response.json(); 

console.log(json);

上面的代码中,在配置项中设置了本次请求的方法是 POST,还指定了本次传输的数据类型是 json 格式,通过 body 写入需要传输的数据。

发布时间:2025-04-15
其他阅读

Blazor文件上传解决方案

Blazor 是由 Asp.Net Core 团队推出的一个Web前端SPA解决方案,其中包括了使用 WebAssembly 的 Blazor Wasm 和使用 SignalR 进行实时交互的 Blazor server。本篇文章中使用的是 Blazor Wasm 方案来验证上传文件的操作。

查看原文

Angular使用路由复用实现单页多窗(Tab)

我们在开发后台管理系统时,一个很重要的需求就是多窗口编辑,来回切换使用。一种思路是使用iframe来记录多个多页面展示,本文通过Angular路由复用来实现这一需求。

查看原文

C#应用在Windows实现自启动

本文将讲解 C# 应用在 Windows 系统中通过自动设置注册表的形式的形式实现开机自启动,这也是 Windows 系统推荐的做法。

查看原文

WPF中开启虚拟化提高性能

WPF(Windows Presentation Foundation)是一个强大的框架,它能创建高度响应和美观的桌面应用程序。然而,当处理大量数据时,性能问题可能变得显著。为了解决这些问题,我们可以利用虚拟化来提升WPF应用的性能。

查看原文

Apple中的模糊效果

本文主要介绍在前端里比较重要的一个效果——高斯模糊效果,也有人称为毛玻璃特效。在Mac和Windows系统样式上也都在使用模糊效果。下面聚焦于Web前端中的模糊效果开发。

查看原文