首页 > 解决方案 > AXIOS 发布请求 - 缺少 url 参数

问题描述

我设置了一个结构如下的反应网页:

MAIN PAGE www.localhost:3000.com, 
OTHER PAGES www.localhost:3000.com/services, www.localhost:3000.com/about, www.localhost:3000.com/contactMe.

我正在使用来自 www.localhost:3000.com/contactMe 的 axios 来发布一个联系表单,该表单将通过我的后端/nodemailer 发送数据。

使用 Postman 验证 post 状态, post 方法不工作www.localhost:3000.com/contactMe/api/contact,它适用于localhost:3000/api/contactand localhost:5000/api/contact

如何解决此请求失败,状态码为 404,来自 www.localhost:3000.com/contactMe/api/contact?

HOST: localhost:3000
SERVER: app.use('/api,...)
CONTROLLER: pouter.post('/contact',...) 

标签: reactjsserveraxiosbackendnodemailer

解决方案


一种解决方案可能是仅使用基本 URL 并www.localhost:3000.com/api/contact从任何页面发送 POST 请求。

因此,即使用户处于开启状态www.localhost:3000.com/contactMe,它仍然会向www.localhost:3000.com/api/contact.

获得它的一种快速方法是使用window.location.hostname.

另一种方法是/在您放入 POST 请求的 URL 的开头放置一个axios.post('/api/contact', ...),它应该直接${baseURL}/api/contact从任何页面发送到


推荐阅读