我无法正确配置OPTIONS请求。 POST请求完全适用于本地开发。还有IE。但是,在OPTIONS请求后,使用Chrome或Firefox的实时网站会被卡住。我在这里吃了什么?
请求 现场网站示例。请求OPTIONS可以使用不同的快速配置响应200或204(无内容)。邮政请求不会与实际配置一起发送!
" OPTIONS / api / books HTTP / 1.1" 200 -
快递: 我在Express服务器上尝试了几种配置。添加所有尝试。像:
showSelectedData
nginx config:
app.use(function(req, res, next) {
res.header('Access-Control-Allow-Origin', 'http://localhost:3000');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization, Token');
res.header("Access-Control-Allow-Credentials", true);
next();
});
角: 前端使用库上传图像File upload。我试图添加特定字段:
server {
listen 80;
server_name xxxxxxxx.com;
location / {
proxy_pass_request_headers on;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
curl -X OPTIONS http://www.xxxxxxxxxx.com/api/books -i
Upload.upload({
url: uploadUrl,
method:'POST',
withCredentials: true,
headers: {
'Content-Type': 'multipart/form-data'
},
data: data
}
我错过了最后一个列表中的OPTIONS方法。这是Express错误还是nginx?
编辑1:新配置。