开发者社区 问答 正文

从mysql运行GET请求时仅返回空格前的第一个单词

已解决

背景:

我正在研究一个小型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); }); });

这是将数据拉入输入表单时的示例:

第一

这是该示例中数据库的图片,您可以看到我们在上图中使用的项目为厕纸,但这只是拉厕

任何指导或反馈将不胜感激。

展开
收起
保持可爱mmm 2019-12-12 15:44:14 526 分享 版权
1 条回答
写回答
取消 提交回答
  • 采纳回答

    尝试在所有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

    2019-12-12 15:44:38
    赞同 展开评论