Javascript客户端在POST请求中发送正文,但node.js服务器将其获取为空
我希望能够看到{content:test data}它应该作为POST请求的主体在我的服务器控制台中从客户端发送,而我得到:Javascript客户端在POST请求中发送正文,但node.js服务器将其获取为空,javascript,node.js,rest,post,Javascript,Node.js,Rest,Post,我希望能够看到{content:test data}它应该作为POST请求的主体在我的服务器控制台中从客户端发送,而我得到: Listening to 8080... I'm in myServer.use POST request received req.params: {} req.body: undefined req.query: {} 这是我的客户机,它只是一个启动onclick功能的按钮: <!DOCTYPE html> <html> <he
Listening to 8080...
I'm in myServer.use
POST request received
req.params: {}
req.body: undefined
req.query: {}
这是我的客户机,它只是一个启动onclick功能的按钮:
<!DOCTYPE html>
<html>
<head>
<title>REST WebClient</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<p>This web is a REST client.</p>
<script type="text/javascript">
function POSTpressed(){
//Making the request
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "POST", 'http://127.0.0.1:8080/v0/prueba/', true ); // false for synchronous request
xmlHttp.send( {"content":"test data"} );
}
</script>
<input type="button" onclick="POSTpressed();" id="POSTbutton" value="POST"/>
</body>
</html>
您需要使用主体解析器来获取主体。您需要主体解析器来获取客户端发送的数据
请参见服务器端的,您需要添加正文解析器中间件来解析正文:
var bodyParser = require('body-parser')
:
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
var bodyParser = require('body-parser');
myServer.use(bodyParser.json());
myServer.use(bodyParser.urlencoded({ extended: true }));
var bodyParser = require('body-parser')
:
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())