跳到主要内容

HTTP 请求

请求 接口是 Fetch API 的一部分,代表了 fetch() 的请求。

构造函数

Request() 构造函数创建一个新的 Request 实例。

let request = new Request(input, init);

参数

名称类型可选描述
资源RequestUSVStringfalse资源可以是请求对象或 URL 字符串。
初始化RequestInittrue初始化对象允许您设置应用于请求的可选参数。

返回类型是 Request 实例。

RequestInit
名称类型默认值描述
methodstringGET请求的方法。
headersHeaders{ [key: string]: string }请求的头部。
bodyBlobBufferSourceFormDataURLSearchParamsUSVStringReadableStream请求的正文。
cachestring请求的缓存模式。
credentialsstringsame-origin请求的凭据模式。
integritystring请求正文的加密哈希。
modestringcors您想要使用的请求模式。
redirectstringfollow处理重定向的方式。
referrerstringabout:client指定 no-referrerclient 或 URL 的 USVString 引用。

属性

名称类型描述
cachestring缓存模式指示浏览器应该如何缓存请求(defaultno-cache 等)。
credentialsstring凭据(omitsame-origin 等)指示用户代理是否应在请求的跨源情况下发送 cookie。
destinationRequestDestination字符串指示请求的内容类型。
bodyReadableStreamgetter 公开正文内容的 ReadableStream
bodyUsedboolean指示正文内容是否已读取。
urlUSVString请求的 URL。
headersHeaders与请求关联的头部。
integritystring请求正文的加密哈希。
methodstring请求的方法(POSTGET 等)。
modestring指示请求的模式(例如 cors)。
redirectstring处理重定向的方式。
referrerstring请求的引用。
referrerPolicystring请求的引用策略。

所有上述属性都是只读的。

方法

名称描述
arrayBuffer()读取正文流直到完成并返回一个 ArrayBuffer 对象。
blob()读取正文流直到完成并返回一个 Blob 对象。
formData()读取正文流直到完成并返回一个 FormData 对象。
json()读取正文流直到完成,将其解析为 JSON 并返回一个 JavaScript 对象。
text()读取正文流直到完成并返回一个 USVString 对象(文本)。
clone()克隆 Request 对象。

示例

import { serve } from "https://deno.land/std@0.208.0/http/server.ts";

function handler(_req) {
// 创建一个 POST 请求
const request = new Request("https://post.deno.dev", {
method: "POST",
body: JSON.stringify({
message: "Hello world!",
}),
headers: {
"content-type": "application/json",
},
});

console.log(request.method); // POST
console.log(request.headers.get("content-type")); // application/json

return fetch(request);
}

serve(handler);