學習快遞,出于某種原因,我的請求正文對于兩個引數都是 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 ($1, $2)', [name, email], (error, results) => {
if (error) {
console.log(request.body)
throw error
}
response.status(201).send(`User added with ID: ${results.insertId}`)
})
}
所以這實際上確實發布了,但是當我查看資料庫中的行時,它們就像
ID name email
20 NULL NULL
我的卷曲是 curl --data "name=Elaine&[email protected]" http://localhost:3000/users
另外,console.log(request.query) 的結果;是 {}
uj5u.com熱心網友回復:
嘿,如果您使用郵遞員,您需要傳遞一個物件
{
"name":"your name here",
"email":"email that you want"
}
希望這可以幫助
uj5u.com熱心網友回復:
- 如果您將請求引數作為引數發送,請使用 -
const createUser = (request, response) => {
const { name, email } = request.query;
pool.query('INSERT INTO users (name, email) VALUES ($1, $2)', [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 ($1, $2)', [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。如果您選擇 Body 然后使用 urlencode 或 json 格式發送請求正文,因為您添加了 body-parser -
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({
extended: true
}));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/456743.html
