由于我的React
和Node
/ Express
的起始级别,最重要的是时间限制,我正在开发single page application
而不是database
,所以我只有static
页。
我已使用react-router
hash
将http://localhost:8080/#/contacts
配置为清除网址,我还避免服务器调用:
let history = createHistory({
queryKey: false
});
我必须从mail
发送form
。要做到这一点,我找到nodemailer,我需要从ajax
调用中调用它。
只是为了对React做一些宣传我已经在我的componentDidMount
函数中配置了我的ajax调用:
openForm() {
$('#contacts-form').on('submit', function(){
$.ajax({
url: '/mail',
type: 'post',
data: { msg: $('#data').val() },
success: function(data){
console.log(data);
},
error: function(){
console.log('err form');
}
});
return false;
});
}
componentDidMount() {
this.openForm();
}
现在,在我安装了body-parser
并将我的表单action
设置为“/mail
”之后,在我的server.js
我配置了.post
路线
app.use( bodyParser.json() );
app.use(bodyParser.urlencoded({
extended: true
}));
app.post('/mail', function(req, res){
res.send('ajax call recived');
});
所以现在,一旦我尝试提交表单,我的ajax调用失败,在控制台中我收到此错误:
POST http://localhost:8080/mail 404 (Not Found)
err form
这是我第一次使用这些工具,我做错了吗?