我正在寻找在EJS的equalivents,下面是PHP代码:
如何使用嵌入式Javascript(EJS)获取获取/发布URL参数?
<?php echo $_GET['name']; ?>
和
<?php echo $_POST['name']; ?>
我如何使用Node.js,Express和嵌入的JavaScript(EJS)。
我正在寻找在EJS的equalivents,下面是PHP代码:
如何使用嵌入式Javascript(EJS)获取获取/发布URL参数?
<?php echo $_GET['name']; ?>
和
<?php echo $_POST['name']; ?>
我如何使用Node.js,Express和嵌入的JavaScript(EJS)。
您需要在Express中使用body-parser中间件。如果您使用快速生成器,则包含body-parser的代码将自动生成。
例
变种bodyParser =要求( '体解析器');
and
app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: false}));
在您的“app.js”文件中准备好上述文件,您需要为路径文件夹指定路由处理。
您必须确保路由“register”和“registeration_complete”在本地服务器上可用。为此,请确保在“app.js”中有以下行设置它们:
var register = require('./ routes/register');
var registeration_complete = require('./ routes/registeration_complete');
app.use('/ register',register);
app.use('/ registeration_complete',registeration_complete);
请考虑在视图中存在一个名为“register.ejs”的表单。 “register.ejs”有一个名称为'tb_email'的输入文本框。示例如下图所示:
<!DOCTYPE html>
<html>
<head>
<title>Contact</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1>Contact</h1>
<p>Welcome, enter your email address.</p>
<form method="post" action="registeration_complete">
<p><input type="text" size="12" name="tb_email"/>
<p><input type="submit" value="Register"/>
</form>
</body>
</html>
注:在上面输入标签,你应该有“名”。拥有“id”不会显示发布的数据。
表单的动作设置为“registeration_complete”,因此您现在需要在路径文件夹中定义名为“registeration_complete.js”的文件中的路由处理。
的“registeration_complete.js”的内容应如下:
如果您现在访问“注册”应用程序的网址,并输入一个电子邮件地址,它应该表现出你所输入的电子邮件地址在“registeration_complete.js”文件中使用上述“res.send”方法。
既然您确定路径中的帖子值可用,请在“”registeration_complete.js“文件中使用”res.render“,而不是上面为测试目的设置的”res.send“。您需要在渲染函数中传递想要使用EJS在视图中访问的变量。
的“registeration_complete.js”文件现在应该是这样的:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.post('/', function(req, res, next) {
var tb_email=req.body.tb_email;
//res.send('Your email address is: '+ tb_email);
res.render('registeration_complete', {email:tb_email});
});
module.exports = router;
现在,你必须做出“registeration_complete”查看可用的,所以你的“registeration_complete.ejs”文件中的“意见”文件夹应该看起来像这样。
<html>
<head>
<title>Registeration complete</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1>Thank you for registering.</h1>
<p>Your email address is: <%= email %></p>
</body>
</html>
那一下。您可以访问本地服务器的“/注册”网址,并且您应该看到一个输入表单询问电子邮件。提交表单后,“registeration_complete.js”文件处理请求并呈现“registeration_complete.ejs”文件,该文件使用EJS输出输入的电子邮件地址。
我的问题已经过去了一年,我找到了答案。但既然你花时间写下所有这些,我会很乐意接受它。我希望它能帮助别人。 – 2016-08-22 08:50:15
谢谢@LightFlow :-) – Vibhu 2016-08-23 13:08:41
哦,对不起,这是一个误解,我想要EJS中的均衡代码,编辑我的问题。 – 2014-11-08 17:51:44
相关:https://stackoverflow.com/questions/20130960/getting-the-url-parameters-in-an-ejs-template – 2014-11-08 19:47:26
谢谢bebraw,但我已经看到了这个答案,它没有奏效。 – 2014-11-09 10:42:03