将数据从reactjs传递到nodejs

时间:2017-03-14 09:24:01

标签: node.js reactjs

我正在尝试将反应js中的数据传递给nodejs。谁能帮忙, Reactjs代码 -

$.ajax({
  url: 'http://localhost:8081/getdata',      
  type: 'POST',
  data: {ajaxid:4},
  success: function(data) {
    this.setState({EmpCollection: data.EmpCollection}); 
  }.bind(this),
  error: function(xhr, status, err) {
    console.error(this.props.Empnumber, status, err.toString());
  }.bind(this)

});

Nodejs代码 -

app.get('/getdata', function (req, res) {
var Client = require('node-rest-client').Client;
var client = new Client();
 var messageData =  "";
 console.log("req="+req);
  client.get("some URL", function (data, response) {            
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");      
  res.send(data);
});
})

如何在nodejs代码中获得ajaxid:4?

2 个答案:

答案 0 :(得分:1)

我在你的代码中发现了一个错误。

您正在使用POST方法调用ajax调用,但是在服务器端路由中启用了GET方法。

app.get('/getdata', function (req, res) {

替换为

app.post('/getdata', function (req, res) {

并尝试

如果是GET请求,那么你可以使用req对象。像req.params或req.param(' ajaxid')

如果是POST请求,那么您可以使用像body-parser这样的中间件,然后就可以访问req.body.ajaxid

答案 1 :(得分:1)

您需要使用express plugin body-parser来访问POST数据。

您可以在此处找到更多信息:How to retrieve POST query parameters?