EJS-将多个单词作为值添加到搜索栏

时间:2018-03-26 00:20:18

标签: node.js ejs

我正在使用EJSNode.JS创建一个简单的项目,其中客户端在主页上搜索查询,结果在另一个页面上返回,搜索栏中仍然包含查询。当用户搜索多个单词时,我遇到了问题。例如,当用户搜索“Hello World”时,返回查询的相关结果,但该页面上的搜索栏仅包含查询的第一个单词,即“Hello”。以下是MVP复制同样的问题。

这是server.js

中的代码
var express = require('express');
var app = express();
app.set('view engine', 'ejs')

app.listen(9900, function(){
    console.log('Server is running')
});

app.get('/', function(req, res){
    res.render('test', {query: "Hello World"})
});

这是views/test.ejs

中的代码
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">

</head>
<body>


<div class="search-container">
    <form action="/action_page.php">
        <input type="text" placeholder="Search.." name="search" value=<%= query %>
        <button type="submit">Submit</button>
    </form>
</div>


</body>
</html>

在这种情况下,搜索栏仅包含单词“Hello”,即使从服务器传递短语“Hello World”。

我很感激如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

您错过了引号和&gt;

<input type="text" placeholder="Search.." name="search" value="<%= query %>">