我正在使用
将数据发送到服务器function post(url) {
return new Promise(function(resolve, reject) {
var req = new XMLHttpRequest();
req.open('POST', url);
req.onload = function() {
if (req.status == 200) {
resolve(req.response);
}
else {
reject(Error(req.statusText));
}
};
req.onerror = function() {
reject(Error("Network Error"));
};
var data = moldData();
alert(JSON.stringify(data , null , 2 ))
req.send( data );
});
}
send.addEventListener('click', function(){
post('http://localhost:8080/order').then(function(){
alert('send')
}).catch(function(e){
alert(e)
})
}
在服务器端我正在使用
app.post('/order', function( req , res ){
console.log('sup')
console.log("=================\n" , req.body)
})
但无论何时发布,承诺都不会得到解决或拒绝,例如 然后也没有捕获被执行。在服务器端,它只是打印
“===============” “[对象]”
我正在使用身体解析器,例如
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.raw())
app.use(bodyParser.text())
我对后端开发还不熟悉,为什么会发生这种情况?是什么导致这个?使用
console.log(JSON.stingify(req.body,null,2))
产生相同的输出。
感谢您的帮助!
// 虽然问题的一部分得到了回答。主要问题是为什么没有打印req.body,而是打印[Object object]。
答案 0 :(得分:-1)
答案 1 :(得分:-1)
您需要在记录时对服务器响应进行字符串化。
console.log("=================\n" , JSON.stringify(req.body))
如果你想"漂亮的打印"输出,你可以这样做:
console.log("=================\n" , JSON.stringify(req.body, null, 4))