HTTP 请求
该 Request 接口是 Fetch API 的一部分,表示 fetch() 的请求。
构造函数 跳转到标题
Request() 构造函数创建一个新的 Request 实例。
let request = new Request(input, init);
参数 跳转到标题
名称 | 类型 | 可选 | 描述 |
---|---|---|---|
资源 | Request 或 USVString |
false |
资源可以是请求对象或 URL 字符串。 |
init | RequestInit |
true |
init 对象允许您设置要应用于请求的可选参数。 |
返回类型是 Request
实例。
RequestInit
跳转到标题
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
方法 |
字符串 |
GET |
请求的方法。 |
标题 |
Headers 或 { [key: string]: string } |
无 | 请求的标题。 |
身体 |
Blob 、BufferSource 、FormData 、URLSearchParams 、USVString 或 ReadableStream |
无 | 请求的主体。 |
缓存 |
字符串 |
无 | 请求的缓存模式。 |
凭据 |
字符串 |
same-origin |
请求的凭据模式。 |
完整性 |
字符串 |
无 | 请求主体的加密哈希。 |
模式 |
字符串 |
cors |
您要使用的请求模式。 |
重定向 |
字符串 |
跟随 |
处理重定向的模式。 |
推荐人 |
字符串 |
about:client |
一个指定 no-referrer 、client 或 URL 的 USVString 。 |
属性 跳转到标题
名称 | 类型 | 描述 |
---|---|---|
缓存 |
字符串 |
缓存模式指示浏览器如何缓存请求(default 、no-cache 等)。 |
凭据 |
字符串 |
凭据(omit 、same-origin 等)指示用户代理在请求的 CORs 情况下是否应发送 cookie。 |
目标 |
RequestDestination |
字符串指示正在请求的内容类型。 |
身体 |
ReadableStream |
getter 公开主体内容的 ReadableStream 。 |
bodyUsed |
boolean |
指示主体内容是否已读取。 |
url |
USVString |
请求的 URL。 |
标题 |
Headers |
与请求关联的标头。 |
完整性 |
字符串 |
请求主体的加密哈希。 |
方法 |
字符串 |
请求的方法(POST 、GET 等)。 |
模式 |
字符串 |
指示请求的模式(例如 cors )。 |
重定向 |
字符串 |
处理重定向的模式。 |
推荐人 |
字符串 |
请求的来源。 |
referrerPolicy |
字符串 |
请求的来源策略 |
以上所有属性都是只读的。
方法 跳转到标题
名称 | 描述 |
---|---|
arrayBuffer() |
将主体流读取到完成并返回 ArrayBuffer 对象。 |
blob() |
将主体流读取到完成并返回 Blob 对象。 |
formData() |
将主体流读取到完成并返回 FormData 对象。 |
json() |
将主体流读取到完成,将其解析为 JSON 并返回 JavaScript 对象。 |
text() |
将主体流读取到完成并返回 USVString 对象(文本)。 |
clone() |
克隆 Request 对象。 |
示例 跳转到标题
function handler(_req) {
// Create a post request
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);
}
Deno.serve(handler);