【问题标题】:ejs string variable with space is not displayed properly带空格的 ejs 字符串变量未正确显示
【发布时间】:2015-06-02 19:05:18
【问题描述】:

我正在尝试在 HTML 的搜索栏中显示搜索查询。 但如果变量包含空格,则网页只会显示第一个单词。

这里是代码

app.get('/search', function(req, res) {
    console.log(req.originalUrl,'oro')
    console.log(req.query['search_query'],'aaaaaaa')
    res.render('search.ejs', {
        user : req.user, 
        query : req.query['search_query']
    });
});

这里是html代码

<form action="/search" method="get">
    <div class="form-group">
        <input type="submit" class="btn btn-warning btn-lg" value = "search" style = "float: right"/>
        <div style="overflow: hidden; padding-right: .5em;">
        <input type="text" value = <%= query %> class="form-control" name="search_query" style = "width:100%;"/>
        </div>
    </div>
</form>

query 是从上一个网页收集并传递给 /search 的变量。

如果我输入“我要找xx”,网页只会在搜索框中显示“我”。但是,在控制台中,打印输出的结果是完整的查询“我要查找 xx”。对应的url也是正确的“/search?search_query=I+want+to+find+xx”。

有人有想法吗?非常感谢!

【问题讨论】:

    标签: html string node.js ejs


    【解决方案1】:

    让我们从纠正 HTML 开始,在值中使用引号:

    <input type="text" value = "<%= query %>" class="form-control" name="search_query" style = "width:100%;"/>
    

    在 IE 下你应该会看到一个大错误,在 FF 和 Chrome 浏览器上会尝试保存情况并只捕获第一个单词。

    您的其他单词可能会被用作属性并在此输入中被忽略。

    【讨论】:

      【解决方案2】:

      &lt;%= query %&gt; 更改为&lt;%- query %&gt;

      【讨论】:

        【解决方案3】:

        将 更改为

        我花了好几个小时来渲染带有空格的文本

        【讨论】:

          【解决方案4】:

          添加引号似乎是解决此问题的最简单方法

          value = "<%= query %>"
          

          【讨论】:

          • 你的答案和@beri一样
          【解决方案5】:

          要在使用 ejs 时添加新行或空格,您必须将字符串参数替换为 HTML 标记。

          比如这里,我将\n =>
          替换成新的一行

          &lt;% var testVar = 'Line1\nLine2' %&gt; &lt;%- testVar.replace(/\n/g, '&lt;br/&gt;') %&gt;

          【讨论】:

            猜你喜欢
            • 2013-10-21
            • 1970-01-01
            • 2018-04-16
            • 1970-01-01
            • 2019-03-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多