node.js / 表示,请求体为空
node.js / express, request body is null
正在学习 express,出于某种原因,我的请求正文对于两个参数都是 NULL
我 index.js 的完整文件:
const express = require('express')
const bodyParser = require('body-parser')
const app = express()
const port = 3000
const db = require('./queries')
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({
extended: true
}));
app.get('/',(request, response) => {
response.json({info: 'express and postgresapi'})
})
app.post('/users', db.createUser)
app.listen(port, () => {
console.log(`App running on port ${port}.`)
})
和我正在制作 POST
的查询文件
const Pool = require('pg').Pool
const pool = new Pool({
user: 'postgres',
host: 'localhost',
database: 'chatDb',
password: 'password1',
port: 5432,
})
const createUser = (request, response) => {
const { name, email } = request.body
console.log(request.query);
pool.query('INSERT INTO users (name, email) VALUES (, )', [name, email], (error, results) => {
if (error) {
console.log(request.body)
throw error
}
response.status(201).send(`User added with ID: ${results.insertId}`)
})
}
所以这实际上 post,但是当我查看我的数据库中的行时,它们就像
ID name email
20 NULL NULL
我的卷曲是
curl --data "name=Elaine&email=elaine@example.com"
http://localhost:3000/用户
另外,console.log(request.query)的结果;是{}
嘿,如果你使用邮递员,你需要传递一个对象
{
"name":"your name here",
"email":"email that you want"
}
希望对您有所帮助
- 如果您将请求参数作为参数发送,则使用 -
const createUser = (request, response) => {
const { name, email } = request.query;
pool.query('INSERT INTO users (name, email) VALUES (, )', [name, email], (error, results) => {
if (error) {
console.log(request.body)
throw error
}
response.status(201).send(`User added with ID: ${results.insertId}`)
})
- 如果您在正文中发送请求参数,请使用 -
const createUser = (request, response) => {
const { name, email } = request.body;
pool.query('INSERT INTO users (name, email) VALUES (, )', [name, email], (error, results) => {
if (error) {
console.log(request.body)
throw error
}
response.status(201).send(`User added with ID: ${results.insertId}`)
})
** 你可以打开你的邮递员,你会得到两个选项 Params 和 Body Options。如果您 select Body 然后使用 urlencode 或 json 格式发送请求正文,因为您添加了 body-parser -
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({
extended: true
}));
正在学习 express,出于某种原因,我的请求正文对于两个参数都是 NULL
我 index.js 的完整文件:
const express = require('express')
const bodyParser = require('body-parser')
const app = express()
const port = 3000
const db = require('./queries')
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({
extended: true
}));
app.get('/',(request, response) => {
response.json({info: 'express and postgresapi'})
})
app.post('/users', db.createUser)
app.listen(port, () => {
console.log(`App running on port ${port}.`)
})
和我正在制作 POST
的查询文件const Pool = require('pg').Pool
const pool = new Pool({
user: 'postgres',
host: 'localhost',
database: 'chatDb',
password: 'password1',
port: 5432,
})
const createUser = (request, response) => {
const { name, email } = request.body
console.log(request.query);
pool.query('INSERT INTO users (name, email) VALUES (, )', [name, email], (error, results) => {
if (error) {
console.log(request.body)
throw error
}
response.status(201).send(`User added with ID: ${results.insertId}`)
})
}
所以这实际上 post,但是当我查看我的数据库中的行时,它们就像
ID name email
20 NULL NULL
我的卷曲是 curl --data "name=Elaine&email=elaine@example.com" http://localhost:3000/用户
另外,console.log(request.query)的结果;是{}
嘿,如果你使用邮递员,你需要传递一个对象
{
"name":"your name here",
"email":"email that you want"
}
希望对您有所帮助
- 如果您将请求参数作为参数发送,则使用 -
const createUser = (request, response) => {
const { name, email } = request.query;
pool.query('INSERT INTO users (name, email) VALUES (, )', [name, email], (error, results) => {
if (error) {
console.log(request.body)
throw error
}
response.status(201).send(`User added with ID: ${results.insertId}`)
})
- 如果您在正文中发送请求参数,请使用 -
const createUser = (request, response) => {
const { name, email } = request.body;
pool.query('INSERT INTO users (name, email) VALUES (, )', [name, email], (error, results) => {
if (error) {
console.log(request.body)
throw error
}
response.status(201).send(`User added with ID: ${results.insertId}`)
})
** 你可以打开你的邮递员,你会得到两个选项 Params 和 Body Options。如果您 select Body 然后使用 urlencode 或 json 格式发送请求正文,因为您添加了 body-parser -
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({
extended: true
}));