我正试图通过expressJS tutorial。这是我的服务器代码:
var express = require('express');
var app = require('express').createServer();
app.use(express.bodyParser());
app.post('/', function(request, response) {
console.log('Inside the post request!');
console.log(request);
response.send(resquest.body);
});
app.listen(3000);
这是我正在模拟的POST请求:
$.ajax({
url: 'http://localhost:3000',
type: 'POST',
datatype: 'json',
data: {hello: 1},
success: function () {
console.log('Success!');
},
error: function () {
console.log('Error!');
}
});
问题是request
对象似乎不包含data: {hello: 1}
。相反,它是引擎盖下参数的一大堆。我做了些蠢事吗?
答案 0 :(得分:3)
我认为,由于您没有将content type设置为multipart / form-data,因此它假定为编码数据。在这种情况下,您可以将ajax请求中的数据设置为:
data: 'hello=1'
将您的内容类型设置为:application / x-www-form-urlencoded
通过request.body.hello访问它。已经有一段时间了,但试试看。
答案 1 :(得分:2)
您已撰写resquest.body
而不是request.body
;当你修复它时,你将能够像其他人指出的那样使用request.body.data
。
答案 2 :(得分:1)
您需要查看request.body
。执行request.body
后,您会获得{hello: 1}
。