我需要访问我的后端API,以通过电子邮件的联系表单发送信息,我将应用程序部署在名为Kinghost的网络托管中,并且给了我两个网址,第一个通常是mywebaddr.com:port-number
,第二个是{ {1}}。
就像在localhost中一样,我试图最后使用两个地址和函数route,例如,为了工作,我使用了http://localhost:4000/contact,但是没有用...
>这是我的要求
mywebaddr.com/site
这是我的index.js(后端)
const baseUrl = 'http://mywebsiteurl.com/contact'
const initialState = {
message: {
name: '',
email: '',
subject: '',
main: ''
},
}
export default class ContactUs extends Component {
state = { ...initialState }
reset = () =>{
this.setState({message: initialState.message})
}
send = () => {
const message = this.state.message
const url = baseUrl
console.log(message)
axios.post(url, message)
.then(this.reset())
.then(alert('Message successfully sent!'))
}
我的middlewares.js包含cors
const express = require('express')
const app = express()
const consign = require('consign')
const port = 4005
consign()
.then('./config/middlewares.js')
.then('./api')
.then('./config/routes.js')
.into(app)
app.listen(port, () => {
console.log(port)
})
实际上,我不认为这是因为代码本身可以在localhost中完美执行所有事情,但是由于某种原因,我无法获得正确的URL
我是Node的新手,我无法猜测我做错了什么,因此,如果有人可以帮助我,我将非常感激:)
答案 0 :(得分:0)
这不是堆栈溢出的问题,因为您的问题不是应用程序而是网络。 无论如何,您的API应用程序正在端口4005上运行。请确保您的托管服务提供商打开了该端口。同时确保端口4000也已打开。
在确认防火墙设置后,如果仍然遇到问题,则会更新我的答案。