2017-04-22 59 views
1

我剛剛啓動了我的nodejs express模板購買cors不工作。Express CORS不工作

我用NPM安裝CORS --save

這裏的文件:

var express = require('express'); 
var cors = require('cors'); 
var app = express(); 

app.use(cors()); 

var corsOptions = { 
    origin: 'https://example.com/', 
    optionsSuccessStatus: 200 
}; 

app.get('/', cors(corsOptions), function(req, res, next) { 
    res.json({ message: 'hooray! welcome to our api!' }); 
}); 

app.get('/tt', function(req, res, next) { 
    res.json({ message: 'hooray! welcome to our api!' }); 
}); 

var port = process.env.PORT || 3030; 
app.listen(port); 
console.log('Magic happens on port ' + port); 

現在有了上面的代碼,當我訪問本地主機:3030/TT或/我仍然看到的內容和我不應該

有什麼不對的..我只是失去像在做這個2小時.. :( 在這個時候,我想不使用CORS,但在不久的將來,當我的應用程序完成後,我想只允許來自我的項目的來電,因爲這個應用程序將是我的API。

回答

2

你正在描述的行爲似乎是我所期望的。

CORS不會幫助您過濾掉服務器上的傳入呼叫。在這種情況下,瀏覽器的CORS檢查將無法啓動,因爲您似乎直接在瀏覽器中輸入URL。只有當從特定域加載的網頁嘗試訪問/提交到不同域中的URL時,瀏覽器纔會執行CORS檢查。

思考CORS的另一種方法。 CORS旨在保護坐在瀏覽器前面的用戶,而不是正在訪問的服務器代碼。

+0

謝謝你的回覆。如何才能最好地保護我的apiserver.com以允許僅從mywebpage.com訪問? – Marketingexpert