情況是這樣的 我用express做一個小型的伺服器來做我demo項目的一個介面 然後我就出現了跨域問題 然後我就 app.all('/*', function(req, res, next) { // CORS headers res.header("Access-Control-Allow-Ori ...
情況是這樣的
我用express做一個小型的伺服器來做我demo項目的一個介面
然後我就出現了跨域問題
然後我就
app.all('/*', function(req, res, next) {
// CORS headers
res.header("Access-Control-Allow-Origin", "*"); // restrict it to the required domain
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Credentials', 'true');
// Set custom headers for CORS
res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
// res.header('Access-Control-Allow-Headers', 'Content-type,Accept,X-Access-Token,X-Key');
if (req.method == 'OPTIONS') {
res.status(200).end();
} else {
next();
}
});
把這串代碼丟到app.js上(註意,我是隨便丟到了一個位置)
然後我前端就去請求那個介面,發現還是有跨域問題
感覺不對啊,上網搜了一下 都是說直接header允許跨域可以了,
但是為什麼還是會出現跨域問題
然後我就去看別人的代碼
然後發現然後這船代碼的位置很重要
要放在你訪問路由的那段代碼之前
先允許跨域了 然後再訪問路由
如果路由的代碼放在前面那就直接進去路由然後沒有到允許跨域那個地方就已經報錯了
over 這些就是我想說的
所以也不知道是不是有什麼問題 但是記錄一下吧