Reactjs 为什么我的Nodemailer POST请求在postman中工作,而不是从我的react前端工作?

Reactjs 为什么我的Nodemailer POST请求在postman中工作,而不是从我的react前端工作?,reactjs,express,axios,nodemailer,Reactjs,Express,Axios,Nodemailer,我正在使用Nodemailer包和SendinBlue smtp电子邮件服务器创建网站联系人表单。当我使用postman发送请求时,电子邮件会发送,一切正常。但是,当我尝试从react前端(在生产和实时环境中)发送Axios post请求时,我会得到以下信息: 职位http:///send 404(未找到) My Server.js文件: const express=require(“express”); 常量app=express(); const PORT=process.env.PORT

我正在使用Nodemailer包和SendinBlue smtp电子邮件服务器创建网站联系人表单。当我使用postman发送请求时,电子邮件会发送,一切正常。但是,当我尝试从react前端(在生产和实时环境中)发送Axios post请求时,我会得到以下信息:

职位http:///send 404(未找到)

My Server.js文件:

const express=require(“express”);
常量app=express();
const PORT=process.env.PORT | | 3001;
const nodemailer=require('nodemailer')
require('dotenv').config();
use(express.urlencoded({extended:true}));
使用(express.json());
if(process.env.NODE_env==“生产”){
使用(express.static(path.join('build'));
}
//捕获所有路由以将非托管路由重定向回react应用程序。
//此选项未进行SEO优化
//此路由将所有保存的链接发送到根目录
app.get('/*',函数(req,res){
res.redirect(“/”)
});
//连接尚未测试
//用于处理联系人表单提交的NodeEmailer配置。
让transporter=nodeEmailer.createTransport({
主机:“smtp中继.sendinblue.com”,
港口:587,
安全:false,//对于465为true,对于其他端口为false
认证:{
用户:process.env.EMAIL\u用户,
通过:process.env.EMAIL\u通过,
},
});
//提交联络表格的邮寄路线
app.post('/send',(req,res)=>{
控制台日志(请求正文)
var{name,email,message}=req.body;
让邮件选项={

发件人:`${name}`,//'"Fred Foo我想你在axios中的url不完整,你能告诉我们你在postman中传递了什么url吗?应该是
http://localhost:3001/send
?@antoineso完全正确!我的邮递员url是
http://localhost:3001/send
。使用axios时,我需要的不仅仅是/send吗?是的,axios需要完整的url,因为e我们使用axios主要是为了使用外部api,所以您需要传递整个url。@因此,当我使用完整url时,我仍然会收到一篇404(未找到)帖子在生产和本地,我被CORS策略阻止。有什么想法吗?在Postman中仍然是这样。我想你在axios中的url不完整。你能告诉我们你在Postman中传递了什么url吗?应该是
http://localhost:3001/send
?@antoineso完全正确!我的邮递员url是
http://localhost:3001/send
。使用axios时,我需要的不仅仅是/send吗?是的,axios需要完整的url,因为我们使用axios主要是为了使用外部api,所以您需要传递整个url。@antoineso当我使用完整的url时,我仍然会收到一篇404(未找到)的帖子在制作和本地,我被CORS的政策阻止了。有什么想法吗?邮递员仍然是这样。