Javascript react中的代理配置
我需要从服务器的fetch请求中获取JSON响应。我设置了一个代理,当使用proxy secure:false时,我得到403禁止响应。但是我可以从浏览器url访问数据库 原因是什么 我还想添加“旁路”以在package.JSON中响应代理配置。 我怎么做Javascript react中的代理配置,javascript,reactjs,proxy,http-headers,Javascript,Reactjs,Proxy,Http Headers,我需要从服务器的fetch请求中获取JSON响应。我设置了一个代理,当使用proxy secure:false时,我得到403禁止响应。但是我可以从浏览器url访问数据库 原因是什么 我还想添加“旁路”以在package.JSON中响应代理配置。 我怎么做 "bypass": function (req, res, proxyOptions) { req.headers['Access-Control-Allow-Origin'] = "*";
"bypass": function (req, res, proxyOptions) {
req.headers['Access-Control-Allow-Origin'] = "*";
req.headers['Access-Control-Allow-Methods'] = 'GET,PUT,POST,DELETE';
req.headers['Access-Control-Allow-Headers'] = 'Content-Type';
}
谢谢 好的,所以我解决了这个问题。我使用create react app webpack文件(webpack.config.dev和webpackDevServer)设置代理:
devServer: {
proxy: {
'/api': {
target: '*****',
secure: false,
changeOrigin: true,
logLevel: "debug",
bypass: function (req, res, proxyOptions) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type');
}
}
}
},
然后我在fetch请求中添加了凭据:“include”
,因为浏览器没有随请求发送cookie。
希望这能帮助别人
此外,如果您使用http和localhost,浏览器将不会捕获服务器发送的任何cookie。您必须使用https并将域更改为在Ex:dev.xxx.com中有两个点,或者您可以
npm i http代理中间件--保存
在您的CreateReact应用程序中的src create setupProxy.js文件中
const proxy=require("http-proxy-middleware")
module.exports=function(app){
app.use(proxy('/api',{target:"http://localhost:5000"})) /your port
}
该包将自动查看此文件,因此您不需要在任何位置导入我不清楚您想要实现什么?您想在哪些请求上添加此标题?AJAX对任何资源(图像等)的请求?我设置了一个代理来获取对服务器的请求。当使用代理“安全”:false时,我得到禁止403响应。但我可以从浏览器访问db url。我认为添加标题会有所帮助