node.js - CORS 错误:尽管设置了代理,但请求的资源上不存在“Access-Control-Allow-Origin”标头
问题描述
我在上传到 Heroku 的 node JS express 应用程序中使用 npm CORS 包,并且在收到前端的请求时,我一直遇到以下错误:
已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。
这是请求
这是我的节点 js 服务器上的 cors 设置:
const cors = require('cors')
app.use(cors())
app.options('*', cors());
这是我试图在我的节点 js 服务器上请求的方法:以下是发布请求,其中发布了一些股票,以便为 ["stocks"] 中的每只股票返回 5 年历史雅虎财务数据
const getHistoricalStockPrices = async(req, res) => {
try {
const {paramsValidated, error} = utils.validateReqParams(req.body, ["stocks"]);
if(!paramsValidated) {
return res.status(400).send(error);
}
const {stocks} = req.body;
var fiveYearsBackDate = new Date();
fiveYearsBackDate.setFullYear(fiveYearsBackDate.getFullYear()-5);
yahooFinance.historical(
{
symbols: stocks.map(stock=>(stock.ticker)),
from: fiveYearsBackDate,
to: new Date(),
period: 'd'
}, function (err, quotes){
if (err) { throw err; }
return res.status(200).send({
success: true,
historicalPrices: quotes,
message: "Historical prices fetched successfully!"
});
}
);
} catch (error) {
console.error(error.message);
return res.status(500).send({
success: false,
message: error.message
});
}
}
我尝试了很多东西,然后甚至在heroku上设置了一个代理,但仍然遇到同样的错误!这里最好的方法是什么?我应该在 AWS 上上传节点 js 服务器吗?
非常感谢您的指导!阿卡什
解决方案
推荐阅读
- java - Querying of Members of a Cooperative by using any search term and the cooperative id in hibernate search
- google-apps-script - How can I compare two Column A on two sheet for differences and update the differences on the older sheet using Google Apps Script?
- ssl - Hyperledger fabric mutual TLS authentication causes Orderer error: "tls: bad certificate"
- swift - 从回调中创建发布者
- r - Aggregate data and exclude duplicates in one column
- postgresql - Postgresql 应该 left join 使用 WHERE 还是 ON 就足够了?
- java - 无法在 Android 中更新 Firebase 实时数据库
- laravel - 如何从全局函数中使用 v-if
- django - Django 2.3: I committed my secret key to a private repository. Can I just edit the secret key myself and then add .env file to .gitignore?
- python - How to fix "curl: (6) Could not resolve host: bootstrap.pypa.io"