如何在req.body变量中包含空格

时间:2019-05-26 21:18:38

标签: html node.js express post body-parser

假设我有一个变量:

var name = "Joe Smith"

我想通过form +选项包含在POST请求中,以便将Joe Smith添加到数据库中。

我已经创建了表单和选项,并确认它已将名称发送给我的控制器/中间件。

我希望当我在POST请求中发送名称时,会调用:

req.body.name
服务器端的

将返回:

Joe Smith

但是,由于某些原因,空格会被忽略,而req.body.name的计算结果为:

Joe

名称/值中带有空格的类似变量会出现此错误,因此我无法在数据库中查找这些对象并正确更新。我该如何解决这个问题?

谢谢!

编辑:这是我的脚本代码-我使用jQuery在选择项中填充数据库中人员的姓名

$(function() {

  var $people = $("#people");
     $.ajax({
        type: 'GET',
        url: '/getAllPeopleData',
        success: function(people) {
            $.each(people, function(i, person) {
               $people.append('<option value=' + person.name + '>' + 
               person.name + '</option');
              });
            }
         });
     });

我的表单允许用户选择一个人的名字并将其添加到数据库中:

    <form action="/addPerson" method="POST">
        Select a Person: <br>
        <select id="people" name="name"></select> <br>
        <input type="submit" value="Submit"> <br>
    </form?

1 个答案:

答案 0 :(得分:-1)

如果您可以共享html表单,则回答可能会有所帮助。我可以盲目猜测您必须以某种形式将其用作变量。我应该发表评论,但我还没有达到50级。

我运行了此示例代码,它起作用了:

<form action="/" method="POST">
 <% var name = 'Joe Smith' %>
 <input type="text" name="name" value="<%= name %>">
 <button type="submit">Submit</button>
</form>

在发布路线中,我控制台将其注销,结果如下:

POST / 200 1.094 ms - 5
GET / 200 2.202 ms - 352
Joe Smith