【发布时间】:2021-11-11 11:24:14
【问题描述】:
我正在尝试从 DHL API 获取信息,但它一直被 cors 政策阻止。
我在后端服务器中设置了 cors 策略,但它仍然导致错误
我做错了什么?
这是我得到的错误:"Request header field access-control-allow-methods is not allowed by Access-Control-Allow-Headers in preflight response."
后端:
app.use(cors({
origin:["http://localhost:3000"],
method:["GET","POST","OPTIONS","PUT"],
credentials: true,
}));
app.get("https://api-eu.dhl.com/track/shipments", (req,res) => {
res.send({msg:ok})
})
前端:
const trackBtn = () => {
fetch(`https://api-eu.dhl.com/track/shipments`, {
method: 'GET',
params: {trackingNumber: '423432432'},
headers: {
'Accept': 'multipart/form-data',
'DHL-API-Key': 'apF7cO8oD2hN7v',
'Content-Type' : 'multipart/form-data charset=UTF-8',
'Access-Control-Allow-Credentials':'*',
"Access-Control-Allow-Methods":"DELETE, POST, GET, OPTIONS",
"Access-Control-Allow-Headers":"Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
},
}).then(res => {
console.log(res.data);
})
.catch(err => {
console.log(err);
});
}
【问题讨论】:
标签: javascript node.js reactjs express cors