Request: mode 属性
Baseline 广泛可用 *
注意:此功能在 Web Workers 中可用。
mode 是 Request 接口的一个只读属性,包含请求的模式(例如 cors、no-cors、same-origin 或 navigate)。这用于确定跨域请求是否会产生有效响应,以及响应的哪些属性是可读的。
要构建具有特定模式的请求,请在 Request.Request() 构造函数中将所需值作为 RequestInit.mode 选项传递。
请注意,设置特定的模式,尤其是 no-cors,会对可用的请求方法和标头施加限制,并阻止 JavaScript 访问响应标头或正文。有关更多详细信息,请参阅 RequestInit.mode 的文档。
值
以下值之一
same-origin-
禁止跨域请求。如果使用此模式向另一个域发出请求,则会导致错误。
no-cors-
禁用跨域请求的 CORS。响应是不透明的,这意味着其标头和正文对 JavaScript 不可用。
cors-
如果请求是跨域的,它将使用 跨域资源共享 (CORS) 机制。
-
用于支持导航的模式。
navigate值仅用于 HTML 导航。仅在文档之间导航时才创建导航请求。
默认模式
请求可以通过多种方式发起,请求的模式取决于其发起方式。
例如,当使用 Request() 构造函数创建 Request 对象时,该 Request 的 mode 属性值设置为 cors。
然而,对于除 Request() 构造函数以外的其他方式创建的请求,通常使用 no-cors 作为模式;例如,对于从标记发起的嵌入式资源请求,除非存在 crossorigin 属性,否则在大多数情况下,请求将使用 no-cors 模式发出——即,对于 <link> 或 <script> 元素(模块除外),或者 <img>、<audio>、<video>、<object>、<embed> 或 <iframe> 元素。
示例
在下面的代码片段中,我们使用 Request() 构造函数创建一个新请求(用于与脚本在同一目录下的图像文件),然后将请求模式保存在一个变量中。
const myRequest = new Request("flowers.jpg");
const myMode = myRequest.mode; // returns "cors" by default
规范
| 规范 |
|---|
| Fetch # ref-for-dom-request-mode② |
浏览器兼容性
加载中…