我有一個服務器上運行的API和連接到它的前端客戶端來檢索數據。我對跨域問題做了一些研究並使其工作。不過,我不確定發生了什麼變化。我現在在控制檯出現這個錯誤:Express JS:沒有'Access-Control-Allow-Origin'標題出現在請求的資源
XMLHttpRequest無法加載https://api.mydomain/api/status。否 「訪問控制 - 允許來源」標題出現在請求的 資源中。原因'http://beta.mydomain.com'因此不允許 訪問。響應有HTTP狀態代碼502
我有以下路徑文件:
var express = require('express');
var router = express.Router();
var Assessment = require('../app/models/assessment');
router.all('*', function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type');
next();
});
router.post('/api/status', function (req, res, next) {
getStatus.getStatus(req, res, Assessment);
});
module.exports = router;
而且下面的JavaScript調用Ajax來這條路線:
var user = {
'uid' : '12345'
};
$.ajax({
data: user,
method: 'POST',
url: 'https://api.mydomain/api/status',
crossDomain: true,
done: function() {
},
success: function (data) {
console.log(JSON.stringify(data));
},
error: function (xhr, status) {
}
});
我曾嘗試: 將請求域放在'Access-Control-Allow-Origin'頭中 使用cors模塊進行快遞 將我的router.all函數放入i nside中間件
請求域是HTTP,並且api域在HTTPS上。但是,我已經在HTTP啓用的情況下工作。
有沒有人有任何洞察,爲什麼'訪問控制 - 允許來源'頭沒有被髮送?
謝謝
非常感謝!你是一個救世主 –
@Anil庫馬爾,很高興它幫助! –