【发布时间】:2022-06-11 00:44:16
【问题描述】:
这是 index.js 上的变量:/* a unique referral code the user can share */ let referral_code = shortid.generate();
我只想将它拉到 index.ejs 页面上,例如 $({referrer_code}) 或任何适合然后从 index.js 页面获取变量的内容。我只是在将 referrer_code 变量传递到 express 网页模板的简单任务中遇到了麻烦。
对 React 和 js 有点新,可以使用一些指导。
请帮我将我的基本 js 变量拉入 ejs express 主题页面。
我要做的就是获取名为referer_code的变量并将其作为可见的html文本放在页面上。
我试图在主题上直接以 html 形式显示的变量可以在 index.js 页面上看到,它说: "让推荐代码 = shortid.generate();"
这是完整的索引页面:
var router = express.Router();
var mysql = require('mysql');
var shortid = require('shortid');
/* New POST route for form submissions */
router.post('/', function(req, res, next) {
/* establish mysql connection */
var connection = mysql.createConnection({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME
});
/* user's email address */
let email = req.body.email;
/* a unique referral code the user can share */
let referral_code = shortid.generate();
/* the referral code a user submitted (might be null) */
let referrer = req.body.referrer;
/* add user to the database with INSERT */
let query = "INSERT INTO `users` (`email`, `referral_code`, `referrer`) VALUES (?, ?, ?)";
connection.query(query, [email, referral_code, referrer], (err, rows) => {
connection.end(function() {
if (err) return next();
return res.send({referralCode: referral_code});
});
});
});
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index');
});
module.exports = router;
这是我要更新的主题页面。您可以在我添加的代码中看到:{referral_code},这就是我要显示referral_code的地方。
<!DOCTYPE html>
<html>
<head>
<title>The Starseeds Referral App</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
</head>
<body>
<h1>SignUp to Earn Your Free Tokens!</h1>
<input type="email" id="email" placeholder="Enter your email...">
<input type="text" id=" as" placeholder="Referral code">
<button id="submit">Sign up</button>
<script>
$('#submit').on('click', function(e) {
e.preventDefault();
$.ajax({
url: '/',
type: "POST",
data: {
'email': $('#email').val(),
'referrer': $('#387jh6g').val()
},
"newAffiliate" = res.referralCode,
success: function(res) {
alert('Your referral code is: ' + res.referralCode);
},
error: function(jqXHR, textStatus, errorMessage) {
alert(errorMessage);
}
});
})
</script>
<H2>
<label>Your referral code: </label>
<span id='newAffiliate'>
{referral_code}
</span>
</H2>
<p>
(Be sure to enter your friend's referral code so you both can get tokens.)
</body>
</html>
还想将 url 附加到代码的开头,但我假设这是标准的?
感谢您帮我解决这个问题!
【问题讨论】:
-
你的 ajax 看起来不正确。
"newAffiliate" = res.referralCode,看看这一行。您可以查看stackoverflow.com/questions/61849747/… -
是的,这绝对是不正确的。这就是我试图做的只是拉入变量,而不知道如何......这些引用显示热推到 JS。我要做的是从 index.js 页面上创建的 js 变量中提取,然后将其拉到 index.ejs 页面上。应该超级简单吧?当我执行 $({referrer_code}) 时,它似乎试图提取变量但说它丢失了?那么我如何才能真正调用该变量。一定有一种简单的方法可以通过吧?
-
这是 index.js 上的变量:
/* a unique referral code the user can share */ let referral_code = shortid.generate();我只想将它拉到 index.ejs 页面上,例如$({referrer_code})或任何合适的,但我遇到了麻烦传递变量。
标签: javascript node.js reactjs express ejs