我用html制作了一个表单,提交后将其数据发送到nodejs进行处理。它在我的本地主机上工作得很好,但是当我将此代码托管在服务器上时,出现以下错误: Not Found 在此服务器上找不到请求的URL /提交。
我具有以下index.html表单:
<form action="http://ip/submit" method="POST">
<div class="position-item">
<div class="item">
<p>What country are you from?</p>
<select name="country" required>
<option value="Canada">Canada</option>
<option value="Mexico">Mexico</option>
</select>
</div>
</div>
<div class="position-item">
<div class="item">
<p>What state/province are you from?</p>
<select name="state" required>
<option value="Ontario">Ontario</option>
<option value="New York">New York</option>
</select>
</div>
</div>
<div class="position-item">
<div class="item">
<p>What town/city are you from?</p>
<select name="city" required>
<option value="Toronto">Toronto</option>
<option value="Mexico City">Mexico City</option>
</select>
</div>
</div>
<div class="position-item">
<div class="item">
<p>What is your native language?</p>
<select name="language" required>
<option value="English">English</option>
<option value="Spanish">Spanish</option>
</select>
</div>
</div>
<div class="btn-block">
<button type="submit">Submit</button>
</div>
</form>
在我的nodejs代码index.js中:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
//Receive data from form submission
app.use(bodyParser.urlencoded({ extended: true }));
let country, state, city, language = "";
app.post('/submit', (req, res) => {
country = res.req.body.country;
state = res.req.body.state;
city = res.req.body.city;
language = res.req.body.language;
console.log(`'${country}','${state}','${city}','${language}'`)
res.redirect("http://ip/success.html")
});
const port = process.env.PORT || 3335;
app.listen(port, () => {
console.log(`Server running on port ${port}`);
});
关于为什么发生这种情况的任何想法吗?