CORS跨域请求限制-options预检请求

Posted xuyx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CORS跨域请求限制-options预检请求相关的知识,希望对你有一定的参考价值。

 1 var express = require("express");
 2 var app = express();
 3 
 4 // app.get("/a", function(req,res){
 5 //     // 设置" * "号表示允许任何域名来源的请求
 6 //     res.setHeader(‘Access-Control-Allow-Origin‘, ‘*‘);
 7 //     res.json({"a":100});
 8 // })
 9 
10 
11 // options预检请求
12 app.options("/a", function(req, res){
13     console.log(111111)
14     res.setHeader(Access-Control-Allow-Origin, *);  //允许请求的来源
15     res.setHeader(Access-Control-Allow-Headers, X-Test-Cors);  //允许当前自定义请求头访问
16     res.setHeader(Access-Control-Allow-Methods, POST, PUT, PATCH ,DELETE);  //允许使用当前三个请求方法
17      //跨域请求时间,单位为秒,即允许缓存该响应1000秒,在该时间范围内,不会再重复发预检请求
18     res.setHeader(Access-Control-Max-Age, 1000);
19     res.end(); //结束预检请求
20 })
21 
22 
23 // POST请求
24 app.post("/a", function(req,res){
25     res.setHeader(Access-Control-Allow-Origin, *);  //允许请求的来源
26     res.setHeader(Access-Control-Allow-Headers, X-Test-Cors);  //允许当前自定义请求头访问
27     res.setHeader(Access-Control-Allow-Methods, POST, PUT, DELETE);  //允许使用当前三个请求方法
28     res.json({"a":100});
29 })
30 
31 app.listen(3000);

 

以上是关于CORS跨域请求限制-options预检请求的主要内容,如果未能解决你的问题,请参考以下文章

将 Spring Security(双向 SSL)配置为仅对 CORS 预检 OPTIONS 请求进行身份验证

Chrome 不缓存预检

http options请求

OPTIONS 方法在跨域请求(CORS)中的应用

处理对 ASP.NET MVC 操作的 CORS 预检请求

为啥会有OPTIONS请求