我正在使用EJS
和Node.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”。
我很感激如何解决这个问题。
答案 0 :(得分:1)
您错过了引号和&gt;
<input type="text" placeholder="Search.." name="search" value="<%= query %>">