ReactJS ExpressJS - Ajax表单

时间:2015-11-10 10:04:27

标签: ajax node.js email express reactjs

由于我的ReactNode / Express的起始级别,最重要的是时间限制,我正在开发single page application而不是database ,所以我只有static页。

我已使用react-router hashhttp://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

这是我第一次使用这些工具,我做错了吗?

0 个答案:

没有答案