Javascript 使用reactjs发布后重定向

Javascript 使用reactjs发布后重定向,javascript,node.js,post,express,reactjs,Javascript,Node.js,Post,Express,Reactjs,我已将express配置为路由到重定向,如下所示: 在routes/redirect.js中: var express = require('express'); var router = express.Router(); router.post('/', function(req, res, next) { res.send('received POST data: ' + req.body.data); }); module.exports = router; 在app.js中

我已将express配置为路由到
重定向
,如下所示:

在routes/redirect.js中:

var express = require('express');
var router = express.Router();
router.post('/', function(req, res, next) {
    res.send('received POST data: ' + req.body.data); 
});
module.exports = router;
在app.js中:

...
var redirect = require('./routes/redirect');
var app = express();
...
app.use('/redirect', redirect);
在component.jsx中:

var React = require('react');
var Component = React.createClass({
    render: function(){
            return (
                <form>
                    <input type="text" ref="data" placeholder="Send some data"/>
                    <button onClick={this.handleSubmit}>Send</button>
                </form>
            );
        },

     handleSubmit: function() {
            var data = this.refs.data.getDOMNode().value;
            // TODO: how do I send 'data' as POST request and redirect to /redirect ?
            // i.e. POST and redirect to localhost:3000/redirect like in a classic 
            // form submit{action='redirect',method='post'} way 
        }
});

module.exports=Component;
var React=require('React');
var Component=React.createClass({
render:function(){
返回(
发送
);
},
handleSubmit:function(){
var data=this.refs.data.getDOMNode().value;
//TODO:如何将“数据”作为POST请求发送并重定向到/重定向?
//也就是说,POST和重定向到localhost:3000/就像在经典中一样重定向
//表单提交{action='redirect',method='post'}方式
}
});
模块导出=组件;

我已经在代码的TODO部分包含了对我的问题的描述。有没有一种方法可以完全使用Node+React而不安装所有类型的插件

您可以使用大多数现代浏览器支持的
fetch
API。看

var Component=React.createClass({
render:function(){
返回(
发送
);
},
handleSubmit:函数(e){
e、 预防默认值();
var data=this.refs.data.getDOMNode().value;
取回(“{
方法:“张贴”,
正文:“数据”
}).然后(此.handleRedirect)
},
handleRedirect:函数(res){
如果(资源状态===200){
//重定向到这里
//window.location.href=http://localhost:300/redirect';
}否则{
//这里出了点问题
}
}
});
模块导出=组件;
希望能有帮助

    var Component = React.createClass({
        render: function(){
                return (
                    <form>
                        <input type="text" ref="data" placeholder="Send some data"/>
                        <button onClick={this.handleSubmit}>Send</button>
                    </form>
                );
            },

         handleSubmit: function(e) {
                e.preventDefault();
                var data = this.refs.data.getDOMNode().value;
                fetch("<url to where to post>", {
                    method: "POST",
                    body: 'data'
                }).then(this.handleRedirect)                    
            },

        handleRedirect: function(res){
            if( res.status === 200 ){
                // redirect here
                // window.location.href = 'http://localhost:300/redirect';
            }else {
              // Something went wrong here
            }

        }
    });


    module.exports=Component;