我有这段代码:
的application.js
var userArray = [];
$(document).ready(function() {
$("#signupform").submit(function(e) {
var user = {
name: $('#pname').val(),
email: $('#email').val()
};
userArray.push(user);
var html = new EJS({url: 'templates/usershow.ejs'}).render(user);
var content = document.getElementById('content');
content.innerHTML = content.innerHTML + html;
$("#signupform").remove();
e.preventDefault();
});
});
的index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>it IT</title>
<link rel="stylesheet" type="text/css" href="application.css" />
<script src="jquery.js"></script>
<script src="application.js"></script>
<script type="text/javascript" src="ejs_production.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<h1>it IT</h1>
<div id="signup">
<form id="signupform">
Name: <input type="text" name="pname" id="pname"><br>
Email: <input type="text" name="email" id="email"><br>
<input type="submit" value="sign up">
</form>
</div>
<div id="signin"></div>
<div id="content"><h2>Name : Email</h2></div>
</body>
</html>
模板/ usershow.ejs
<ul>
<li><%= userArray[userArray.length - 1].name %> - <%= userArray[userArray.length - 1].email %></li>
</ul>
在js文件中,我已在函数外声明了一个数组。我试图将用户从函数内推送到数组。一切顺利,直到我刷新页面......数组也得到刷新 - 我是一个新手,但它似乎是一个范围问题。我试图保持数组完好无损,即使在页面刷新后 - 所以我可以在文件的其他位置引用它。任何帮助,将不胜感激。此外,是否有人有一个很好的链接,我可以阅读有关在JavaScript中创建会话(登录/注销)的地方?