- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在开发一个与 mysql 数据库通信的简单 Node.JS 应用程序。
应用程序从数据库获取数据并使用 app.get 将其放入表中,并且运行良好。
我遇到的问题是 req.body 在使用 app.post 时没有返回任何内容。应用程序将提交到数据库,但由于 req.body 未返回任何内容,因此值为 null。如果我将 req.body 变量与硬编码变量交换,它将发布实际值,例如“12320”。
因此,我已将问题隔离到使用 req.body 的发布请求。
如果我控制台日志 req.body 它是空的。
我已经阅读了有关此问题的所有 stackoverflow 问题,但未能找到解决方案。
我尝试重新安装 body-parser、express、morgan 和 mysql。
我尝试在新目录中重新创建应用程序并再次安装模块。
我尝试重命名变量,以防产生一些影响(例如 name="test"、req.body.test)
但这一切都无济于事。
<form id="submit_missing" action="/submit_quote" method="POST" enctype="multipart/form-data">
<input type="text" id="submit_quote_id" name="submit_quote_id" placeholder="Quote ID">
<input type="text" id="submit_priority" name="submit_priority" placeholder="Priority" list="priority_list">
<input type="text" id="submit_customer" name="submit_customer" placeholder="Customer">
<input type="text" name="submit_who" id="submit_who" placeholder="Who's On it" list="purchasing">
<input type="text" id="submit_account_manager" name="submit_account_manager" placeholder="Account Manager" list="account_managers">
<button id="submit_quote">SUBMIT</button>
<form>
// server.js
const express = require('express')
const app = express()
const morgan = require('morgan')
const mysql = require('mysql')
const bodyParser = require('body-parser')
app.use(bodyParser.json({ type: '*' }))
app.use(bodyParser.urlencoded({ extended: true }))
app.use(express.static('./public'))
app.use(express.static('./files'))
const user = ***
const pass = ***
function getBoardConnection() {
return mysql.createConnection({
host: "localhost",
port: "3306",
user: user,
password: pass,
database: "board"
})
}
app.get('/get_board_quotes', (req, res) => {
const con = getBoardConnection()
const queryString = "SELECT * FROM board_quotes WHERE quote_complete = '0'"
con.query(queryString,(err, rows, fields) => {
if (err) {
console.log("Failed to query for /get_board_quotes : " + err)
}
console.log("Getting data from database for /get_board_quotes")
res.json(rows)
})
})
app.post('/submit_quote/', (req, res) => {
console.log(req.body)
quote_id = req.body.submit_quote_id
priority = req.body.submit_priority
customer = req.body.submit_customer
who_quoted = req.body.submit_who
account_manager = req.body.submit_account_manager
type = ""
queryString = "INSERT INTO board_quotes (quote_id, priority, customer, who_quoted, account_manager, quote_type) \
VALUES (?, ?, ?, ?, ?, ?)"
getBoardConnection().query(queryString, [quote_id, priority, customer, who_quoted, account_manager, type], (err, results, field) => {
if (err) {
console.log("Failed to insert new board order " + err)
return res.redirect('/board/quotes.html')
}
console.log("Inserted a new board with id ")
res.redirect('/board/quotes.html')
})
})
app.listen(6565, () => {
console.log("Server is running")
})
输出
Server is running
Getting data from database for /get_board_quotes
{}
Failed to insert new board order Error: ER_BAD_NULL_ERROR: Column 'quote_id' cannot be null
{} 是 console.log(req.body) 的输出
任何帮助将不胜感激。
最佳答案
您遇到的问题是您设置了 enctype="multipart/form-data"
在您的<form>
上HTML 标签。默认情况下,body-parser
不使用Content-Type
解析主体multipart/form-data
的 header ,这就是您告诉浏览器发送的内容。
有一个简单的方法可以解决这个问题:我建议不要设置 enctype
关于<form>
元素,因为浏览器默认为 application/x-www-form-urlencoded
这是表单主体的类型 body-parser
将默认解析。
您可以尝试传递
(更正: type: "multipart/form-data"
作为您调用
bodyParser.urlencoded()
时的一个选项,这将使
body-parser
解析以该内容类型发送给它的任何内容。
body-parser
实际上,如果我告诉它解析 multipart/form-data
对我来说只是默默地失败)
这个question/answer可能会有进一步的帮助。
关于javascript - Req.Body 未定义 NODE.JS POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54615722/
当调用 func didBegin(_ contact: SKPhysicsContact) 的 SKScene 中发生接触时,需要确定哪个 SKPhysicsBody 是contact.bodyA
HTML: CSS: body { width : 1000px ; } header { width : 100% ; } 如果有这样的代码, 我认为页眉的宽度将与主体的
我刚刚通过网站完成设计,现在我正在尝试将整个 body 布置成一个整体,而不是不断重复的瓷砖。请问我该怎么做? 我不确定我说的是否有道理,但就像一张墙纸在拉伸(stretch),而不是 30 个小瓷砖
我试图在我的内部包装器上获得一个滚动条,而不是主体本身: CSS body { overflow: hidden; } #body_wrap { overflow-y: auto;
body { margin: 0px; border: 1px solid black; } #head { text-align: center; background: linea
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improv
我试图了解此 CSS 规则将应用于哪些元素: body h1, body .h1 { font-family: 'Open Sans', sans-serif !important;
此问题与使用 Jade templates 有关与 Express.js . 我知道当我写 layout.jade其中包含: !!! html body != body hea
我正在尝试为 body 设置不透明度。但是,我遇到了一个问题。 在body 上设置不透明度时,只有它的内容会受到影响。 背景不受不透明度的影响。 $("button").click(function(
我的游戏中有两个对象:球和星星 球是静态或动态的物体。 对于明星: 我需要知道星星何时与球相撞 但它需要穿过小球并且不受碰撞影响 我应该怎么做? 谢谢 袜套 最佳答案 您想使用 Sensors (6.
我以前问过这个问题,但所有答案都不起作用,所以我有一个示例页面,webpage .我有一个重新调整大小的菜单,我想在菜单外单击时关闭菜单,以及在第一次切换下拉菜单时让主体向下动画,这样下拉菜单就不会隐
我有一个漂浮在我其余内容上的井。我遇到的问题是,当它加载页面时,它会下推其余内容。我该如何更改它以便它悬停在所有内容上并且不会在页面加载时将内容下推。 这是页面加载的图像。 这是向下滚动页面的图片 请
在我的代码中我有这个: #body { background-color: #efeeef; clear: both; padding-bottom: 35px; } 还有这个
我想做以下事情。 $("a").click(function (event) { event.preventDefault(); $.get($(this).attr("href"),
在documentation在其他地方,我看到使用了 Body 但不知道它是什么。 谁能解释一下这三个选项是什么意思? from fastapi import Body from pydantic i
我试图在 body 加载后触发一个功能。我知道你可以从 body 标签中做到这一点,但如果可能的话,我更愿意从 JS 中做到这一点。 例如:document.getElementsByTagName(
在 Pymunk 中,当我旋转一个物体时,它的形状并没有旋转。当我施加一个冲动时,形状会如预期的那样同步移动。我的谷歌搜索表明 body 的形状应该在 body 旋转时旋转。我是否从根本上误解了旋转?
在我的移动网站/应用程序中使用 jQueryMobile 时,我刚刚开始遇到非常奇怪错误 编辑 我正在添加图片,可能更容易理解问题 edit2 我发现了这个问题。仍然好奇为什么会这样 如果您想查看原
我正在使用 Phaser.js 及其 p2 物理来模拟“流体”。你可以在this中看到创建一种流体体的示例(归功于 John Watson)。唯一可能的交互是鼠标移动。 我注意到一些有趣的特性可能有助
我认为是后一项, :not(body> element) 说明 body 标签中的所有“元素”元素。这是否与 同义 body >:not(element) ?? 最佳答案 body >:not(ele
我是一名优秀的程序员,十分优秀!