express中怎么把一个页面的用户填的数据传递到另一个页面上?

一个想法是:

    用户点击按钮 (按钮 href 了一个新页面路由 ) 前台处理是 把数据通过 ajax 保存起来,然后在 get 方式处理 这个新页面的时候渲染出来?
    但是还是没什么思路,不确定对,求解?       
阅读 6.3k
5 个回答

这个传递数据的过程,其实express基本不用做什么东西。

假设:跳转到的地址为 http://www.example.com,要传递的参数是 age=1

方法一:通过url查询参数

举例:http://www.example.com?age=1

方法二:通过url hash

举例:http://www.example.com#age=1

方法三:通过localStorage

在跳转之前,先往localStorage里写数据

localStorage.setItem('age', 1);

然后,在新页面,读取localStorage里的数据

localStorage.getItem('age', 1);

方法四:通过cookie

在当前页面设置cookie

document.cookie = 'age=1'; max-age=10000000';

然后在新页面读取cookie(略)

方法五 其他

直接form表单,post或者get,然后,express接收到请求,重定向或者直接吐页面啊。
举个例子好了。

<form action="/target/" method="get">
  <p>First name: <input type="text" name="fname" /></p>
  <p>Last name: <input type="text" name="lname" /></p>
  <input type="submit" value="Submit" />
</form>
app.get('/target/', function(req, res, next) {
  res.send(req.body);
})

也可以用 localStorage或sessionStorage来缓存数据

新手上路,请多包涵

用req.session.fname,req.session.lname,可在 会话期内使用。

express-generator 生成的例子就是的啊
http://www.expressjs.com.cn/s...

//index.js
var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

module.exports = router;
//index.ejs
<!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    <h1><%= title %></h1>
    <p>Welcome to <%= title %></p>
  </body>
</html>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题