google查了一下,這個錯誤的根本原因是因為OPTIONS請求的CORS預(yù)檢不成功導(dǎo)致。
當(dāng)您開始使用自定義請求標(biāo)頭時,您將獲得CORS預(yù)檢。這是一個使用·HTTP OPTIONS·方式并包含多個屬性的請求,其中一個標(biāo)題是列出客戶端要包含在請求中的CORS頭的Access-Control-Request-Headers。
您需要使用適當(dāng)?shù)?code>CORS頭回復(fù)該CORS預(yù)檢,才能使其正常工作。其中一個是Access-Control-Allow-Headers。該屬性需要包含Access-Control-Request-Headers屬性包含的相同值(或更多)。

請求1.png

請求2.png
解決方法:在express的攔截器添加
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE,OPTIONS");
res.header("Access-Control-Allow-Headers", "Content-Type,access-token"); // 修改了這段
res.header("Access-Control-Allow-Credentials", "true");