我正在尝试将反应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?
答案 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?