當我在前端進行一個post的跨域請求時,控制台報錯Request header field Content-Type is not allowed by Access-Control-Allow-Header。這是因為我在后端設置跨域請求的時候沒有所需的請求類型,如圖:
app.all('*', function (req, res, next) {
//響應頭指定了該響應的資源是否被允許與給定的origin共享。*表示所有域都可以訪問,同時可以將*改為指定的url,表示只有指定的url可以訪問到資源
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
//允許請求資源的方式
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1');
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
,所以直接在代碼片段設置一下:
app.all('*', function (req, res, next) {
//響應頭指定了該響應的資源是否被允許與給定的origin共享。*表示所有域都可以訪問,同時可以將*改為指定的url,表示只有指定的url可以訪問到資源
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", " Origin, X-Requested-With, Content-Type, Accept");
//允許請求資源的方式
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1');
res.header("Content-Type", "application/json;charset=utf-8");
next();
});