下面是我的服務器的代碼node.js服務器如何訪問ajax請求的數據?
/* GET tone. */
router.post('/tone', function(req, res, next) {
console.log("what is the body" + req.body.data);
tone_analyzer.tone({ text: req.body.data }, function(err, tone) {
console.log(req.body.data);
if (err) {
console.log(err);
} else {
res.send(JSON.stringify(tone, null, 2));
}
console.log(req);
});
});
我的阿賈克斯隊在HTML頁面中調用。
function toneAnalysis(info){
$.ajax({
url: 'http://localhost:3000/tone',
type: 'POST',
data: info,
success: function(res) {
console.log("testing " + info);
},
error: function(xhr, status, errorThrown) {
console.log(status);
}
})
服務器無法檢索req.body.data
。當我試圖控制檯登錄時,它總是打印未定義的。有人能幫我解決這個問題嗎?謝謝。
更新: The printed req.body after I used body parser
它應該是req.body。記錄下來,看看它是否定義。您可能需要使用body-parser。 –
其次,您可能需要body解析器的註釋,如果它==='string',也看typeof(req.data),那麼您可能需要JSON解析它。 –
http://expressjs.com/en/4x/api.html#req.body –