【发布时间】:2018-10-21 02:00:01
【问题描述】:
我正在尝试通过我的 React 应用程序中的 Redux 操作和减速器进行 api 调用。
但是,我的浏览器出现了这个 CORS 问题。
我想知道是否可以从客户端解决此问题,因为我在内部没有对 API 的任何访问权限。
谁能帮我解决这个问题?
这里是 newsActions.js 的代码:
import * as types from './actionTypes';
const API_KEY = "<Redacted>";
export const getNewsApi = () => {
debugger;
return (dispatch, getState) => {
dispatch({
type: 'API_REQUEST',
options: {
method: 'GET',
service: 'news',
mode: 'cors',
headers:{
'Access-Control-Allow-Origin':'*'
},
endpoint: `https://newsapi.org/v2/top-headlines?country=us&category=business&apiKey=${API_KEY}`,
actionTypes: {
success: types.GET_NEWS_API_SUCCESS,
error: types.GET_NEWS_API_ERROR
}
}
});
}
}
这是 server.js 的代码:
var express = require('express');
var app = express();
var cors = require('cors');
let __homeglobals = [];
app.use(cors());
app.set("jsonp callback", true);
var server = app.listen(8082, function () {
var host = server.address().address;
var port = server.address().port;
console.log("Example app listening at http://%s:%s", host, port);
});
如果您需要更多信息或有任何疑问,请在下方发表评论。
谢谢。
【问题讨论】:
-
我想说的是其他两个答案已经做了什么:看来这是一个服务器端配置问题(因此应该从服务器端解决)
标签: javascript reactjs redux cors react-redux