解决 axios 跨域 Request Method: OPTIONS问题(预检请求)
时间: 2024-02-21 09:01:46 浏览: 870
跨域请求时,浏览器会自动发送一个 OPTIONS 请求,用于询问服务器是否允许跨域请求。如果服务器允许跨域请求,就会返回一个带有 CORS 标识的响应头。否则,浏览器就会阻止跨域请求。
如果你使用 axios 发送跨域请求时遇到了 Request Method: OPTIONS 问题,可以尝试在服务器端添加 CORS 支持:
1. 在服务器端设置 Access-Control-Allow-Origin 头,允许跨域请求的来源:
```
response.setHeader('Access-Control-Allow-Origin', '*');
```
2. 设置 Access-Control-Allow-Methods 头,允许跨域请求的方法:
```
response.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
```
3. 设置 Access-Control-Allow-Headers 头,允许跨域请求的请求头:
```
response.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
```
如果你使用的是 Express 框架,可以使用 cors 中间件来实现 CORS 支持:
```
const cors = require('cors');
app.use(cors());
```
以上是解决 axios 跨域 Request Method: OPTIONS 问题的方法。希望能对你有所帮助。
阅读全文