请给我一个Node.js/Express应用程序,它的表单在html文件中。当我运行该表单时,它在我的本地机器上运行良好,这个form.html在一个公共文件夹中,下面是表单属性,下面还有一个提交按钮;
<form action="/api/students" method="post" class="was-validated shadow font-weight-bold" >...
我还有一个index.js文件中的后端api,该文件与下面的公用文件夹在同一目录中
...
// Serving static folder
app.use(express.static(path.join(__dirname, 'public')));
// Students API Routes
app.use('/api/students', require('./routes/students'));
// Connect to DB
mongoose.connect(
process.env.DB_CONNECTION,
{ useNewUrlParser: true ,
useUnifiedTopology: true,
},
() => console.log('Connected to DB')
);
const PORT = process.env.PORT || 2100;
app.listen(PORT, () => console.log(`Server started on port ${PORT}`));
我试图将其部署在cpanel共享托管平台上,该平台以某种方式工作但表单帖子无法提交,并导致请求超时错误。我尝试将表单操作值更改为如下,但不起作用。
<form action="my_domain_name.com/api/students" method="post" class="was-validated shadow font-weight-bold" >...
<form action="my_domain_name.com:2100/api/students" method="post" class="was-validated shadow font-weight-bold" >...
请有人帮我解决这个问题。提前谢谢。
听起来好像无法访问Node.js Express API。
你是如何在cpanel上托管Node应用程序的?听起来你刚刚将所有静态html文件上传到主机,但没有运行节点应用程序——这就是为什么请求超时的原因。