背景:
我正在研究一个小型Crud项目,学习如何将CRUD与node.js和mysql合并。在本节中,我提取将填充多个输入字段的数据,以便可以进行一些更改然后进行更新。
问题:
一切运行正常,只是当我运行GET请求时,我返回的数据就是第一个空格之前的所有内容。所以,如果我有一个叫做产品都清楚我只会得到的结果ALL这是每个字段相同。
目标:
我的目标是使全文进入输入字段,而不是部分文本。
这是我的server.js代码,显示了我的GET请求,其中包括html代码,该代码将呈现显示从mysql数据填充的所有输入:
我做了什么:
我已经做过研究,但是由于某种原因只能找到对PHP的引用
app.get("/test", function(req, res) { let ID = req.query.ID; let option = req.query.selectpicker; mysqlConnection.query('SELECT * FROM ' + option + ' WHERE id=' + ID, function(err, result) { if (err) throw err; var html = <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="../css/bootstrap.min.css"> <link rel="stylesheet" href="../css/style.css"> <title>Update Item</title> </head> <body> <h1 class="bg-dark p-3 text-center text-white">UPDATE ITEM</h1> <div class="form-group col-md-4 pt-5 container font-weight-bold">
; for (var i = 0; i < result.length; i++) { html += <form class="contact_section_form pt-3 pb-3">
html += <div class="form-group">
html += <label class="font-weight-bold">Option</label>
html += <input type="input" class="form-control" name="selectpicker" value=${option} readonly>
html += </div>
html += <div class="form-group">
html += <label class="font-weight-bold">Id</label>
html += <input type="input" class="form-control" name="idName" value=${result[i].id} readonly>
html += </div>
html += <div class="form-group">
html += <label class="font-weight-bold">Supply Name</label>
html += <input type="input" class="form-control" name="supplyName" value=${result[i].supply_name} readonly>
html += </div>
html += <div class="form-group">
html += <label class="font-weight-bold">Description</label>
html += <input type="input" class="form-control" name="descriptionInfo" value=${result[i].description_info} readonly>
html += </div>
html += <div class="form-group">
html += <label class="font-weight-bold">Quantity</label>
html += <input type="input" class="form-control" name="quantity" value=${result[i].qty}>
html += </div>
html += <div class="form-group">
html += <label class="font-weight-bold">Size</label>
html += <input type="input" class="form-control" name="size" value=${result[i].size }>
html += </div>
html += <div class="form-group">
html += <label class="font-weight-bold">Amount</label>
html += <input type="input" class="form-control" name="amount" value=${result[i].amount}>
html += </div>
html += <div class="form-group">
html += <label class="font-weight-bold">Unit Of Measurement</label>
html += <input type="input" class="form-control" name="unitOfMeasurement" value=${result[i].unit_of_measurement}>
html += </div>
html += <div class="form-group">
html += <label class="font-weight-bold">Category</label>
html += <input type="input" class="form-control" name="category" value=${result[i].category} readonly>
html += </div>
html += <div class="form-group">
html += <label class="font-weight-bold">Category Id</label>
html += <input type="input" class="form-control" name="categoryId" value=${result[i].category_id} readonly>
html += </div>
html += <div class="form-group">
html += <label class="font-weight-bold">Date received</label>
html += <input type="input" class="form-control" name="dateReceived" value=${result[i].date_received} readonly>
html += </div>
html += <div class="form-group">
html += <label class="font-weight-bold">Last date removed</label>
html += <input type="input" class="form-control" name="lastDateRemoved" value=${result[i].last_date_removed} readonly>
html += </div>
html += <div class="text-center">
html += <button class="btn btn-md btn-secondary font-weight-bold text-uppercase" formmethod="POST" formaction="/update">Update</button>
html += </div>
html += </form>
} html += </body>
html += </html>
res.send(html); }); });
这是将数据拉入输入表单时的示例:
第一
这是该示例中数据库的图片,您可以看到我们在上图中使用的项目为厕纸,但这只是拉厕
任何指导或反馈将不胜感激。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
尝试在所有value属性周围加上引号,类似这样。
html += <input type="input" class="form-control" name="supplyName" value="${result[i].supply_name}" readonly>
^ ^
但是,这要复杂得多,因为数据库列值本身可能包含"字符。将它们从字面上放入您的html中会搞砸它。尝试这个:
html += <input type="input" class="form-control" name="supplyName" value="${escape(result[i].supply_name)}" readonly>
^ ^^^^^^^ ^ ^
专家提示一旦使用pug或车把之类的HTML模板引擎,您的生活就会更加轻松。
View source ...浏览器中的专业提示是您的朋友。 问题来源于stack overflow