我正在将变量从 AJAX 传递到 Node JS 服务器,但是在尝试从请求中提取数据时,我一直收到 [Object Object]
。我如何获取从 AJAX 传递到 Node 的数据?
Ajax :
$.ajax({
type: "POST",
url: "/Watch",
data: {"name" : stockName},
contentType: "json",
success: function(d) {
//Stuff happening
},
error: function(d) {
console.log("Error");
}
});
Node JS 服务器:
app.post('/Watch', function(req, res) {
console.log("DATA from AJAX = " + req.body);//Returns [Object Object]
console.log("DATA from AJAX = " + req.body.data);//Returns 'undefined'
console.log("DATA from AJAX = " + req.data);//Returns 'undefined'
console.log("DATA from AJAX = " + req.name);//Returns 'undefined'
console.log("DATA from AJAX = " + req.body.data);//Returns 'undefined'
res.send("");
});
在 Node JS 中,console.log 显示了我尝试从请求中获取数据的一些不同内容。
最佳答案
在@mscdex 的帮助下,解决方案是
Ajax :
alert(JSON.stringify({"name" : stockName}));
$.ajax({
type: "POST",
url: "/Watch",
data: JSON.stringify({"name" : stockName}),
contentType: "application/json",
success: function(d) {
//Stuff
},
error: function(d) {
console.log("Error");
}
});
Node JS:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var port = process.env.PORT || 5000;
app.use(bodyParser.json());
app.post('/Watch', function(req, res) {
console.log("In Watchlist POST");
console.log("DATA from AJAX = " + req.body.name);//This was the solution
res.send("Finished Watchlist post");
});
app.use(express.static('public'));
app.listen(port, function () {
console.log('App listening on port ' + port);
});
关于javascript - Nodejs 从请求中获取 [object Object],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40309898/