上Express.js調用REST API,我收到以下錯誤,同時從角組件調用HTTP GET:錯誤從角2
「無法加載http://localhost:3005/json:沒有‘訪問控制允許來源’頭存在於請求的資源中,因此'http://localhost:3000'不允許訪問。「
上Express.js調用REST API,我收到以下錯誤,同時從角組件調用HTTP GET:錯誤從角2
「無法加載http://localhost:3005/json:沒有‘訪問控制允許來源’頭存在於請求的資源中,因此'http://localhost:3000'不允許訪問。「
您需要設置標題,允許(快遞)Node.js的的路由器從本地主機訪問。 下面的代碼,我使用*到節點服務器來訪問所有來源的請求。
router.use(function(req,res,next){
res.header('Access-Control-Allow-Origin', req.get('Origin') || '*');
res.header('Access-Control-Allow-Credentials', 'true');
res.header('Access-Control-Allow-Methods', 'GET,HEAD,PUT,PATCH,POST,DELETE');
res.header('Access-Control-Expose-Headers', 'Content-Length');
res.header('Access-Control-Allow-Headers', 'Accept, Authorization, Content-Type, X-Requested-With, Range');
next();
});
更容易解決的方法是使用快遞中間件cors。
這將爲您添加上述設置,以便您忘記這些設置。 您只能在開發模式下啓用這一點非常重要,因爲這可能會導致嚴重的安全問題。 考慮做類似:
const server = require('express')();
const cors = require('cors');
if (isDevelopmentMode) {
server.use(cors());
}
的可能的複製[否「訪問控制允許來源」角4應用程序(https://stackoverflow.com/questions/44448177/no-access-control-allow -origin-angular-4-app) – FussinHussin
你需要設置你的頭文件,或者使用谷歌瀏覽器擴展 – FussinHussin
可能的[如何允許CORS?]的重複(https://stackoverflow.com/questions/7067966/how-to -ALLOW-CORS) –