【发布时间】:2022-02-09 06:30:06
【问题描述】:
我有一个在 https 上运行的 react 应用程序和一个运行 localhost:3001 的 nodejs。我的 nodejs 应用程序没有从反应应用程序中捕获数据。 我错过了什么?
server.js (Nodejs)
const express = require('express');
const bodyParser = require('body-parser');
const nodemailer = require('nodemailer');
const cors = require('cors');
const app = express();
const Excel = require('exceljs');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
app.use(cors());
app.get('/', ()=>{
console.log('welcome to test')
})
app.post('/api/xcl', (req, res) =>{
const workbook = new Excel.Workbook();
workbook.xlsx.readFile('test.xlsx')
.then(() =>{
const workSheet = workbook.getWorksheet('test');
workSheet.addRow([req.body.fNamn, req.body.eNamn, req.body.oNamn, req.body.ePost,
req.body.dVal, req.body.kNamn]);
workbook.xlsx.writeFile('test.xlsx');
})
.catch(error => {
console.log(error.message);
});
const PORT = process.env.PORT || 3001
app.listen(PORT, () => console.info(`server has started on ${PORT}`))
app.js (Reactjs)
axios.post('http://localhost/:3001/api/xcl', data)
.then(res =>{
setSent(true)
console.log(res.data)
})
.catch(() => {
console.log(err=>console.log(err.response.data));
})
我已经在 package.json 中声明了代理 "proxy": "http://localhost:3001/"
React 应用在 iis 网站上运行 https://test.me:443
【问题讨论】:
-
不应该是
http://localhost:3001/而不是http://localhost/:3001/吗? -
没错,错字...但还是不行!
-
去掉代理后可以试试吗?
标签: node.js reactjs https axios