[英]Getting request.body value undefined in nodejs?
我的前端代碼:
console.log('In front end ', UserDetails.fname);
$.ajax({
type: 'POST',
data: UserDetails.fname,
url: 'http://localhost:3000',
success: function(data){
console.log('Success!!');
},
error: function(error){
console.log('Error!!');
}
})
在第一個控制台行中, UserDetails.fname
正確打印。 但是,當我將其發送到后端時,后端將其顯示為undefined
。
我的后端代碼
var express = require('express');
var mysql = require('mysql');
var bodyParser = require('body-parser');
var userId = 1;
var conn = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'facebook'
});
conn.connect(function(err){
if(!err){
console.log('Database connection success...');
} else {
console.log('Failed to connect to database...')
}
});
var app = express();
// Add headers
app.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});
app.use(bodyParser.json({ type: 'application/*+json' }));
app.use(bodyParser.raw({ type: 'application/vnd.custom-type' }));
app.use(bodyParser.text({ type: 'text/html' }));
app.post("/", function(req, res){
console.log(req.headers);
console.log('body: ' + JSON.stringify(req.body));
res.send(req.body);
});
app.listen(3000);
我已經更新了我的代碼。 但是我仍然有同樣的想法。
確保將
body-parser
代碼放在所有路線之上
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
您是否在Express中設置了正文解析器?
https://github.com/expressjs/body-parser#user-content-change-accepted-type-for-parsers
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.