我正在尋找在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