如何处理get/post在Express 4/nodejs从app.js传递数据从表单到新页面显示结果
How to handle get/post in Express 4/nodejs from app.js passing data from form to new page displaying results
我相信这是一个非常简单的问题,但我想我现在有一个心理障碍来回答它。
我已经安装了node.js和express 4,我可以运行静态页面没有任何问题。我想做的是创建一个表单来捕获一些数据,然后在结果页面中显示我在表单中捕获的数据。我使用Jade来处理HTML部分。
在app.js文件中,我只更改了这些内容:
.
var routes = require('./routes/index');
var users = require('./routes/users');
// new routes
var helloworld = require('./routes/helloworld');
var sampleform = require('./routes/sampleform');
…
app.use('/', routes);
app.use('/users', users);
// new pages
app.get('/helloworld', helloworld);
app.get('/sampleform', sampleform);
我有一个简单的示例表单。玉文件:
html
head
title Sample Form
body
h2 Sample Form
form(name='sampleform' action='/sampleform' method='post')
table(border='0')
tr
td Name
td
input(name='name' type='text' size='30')
tr
td Email
td
input(name='email' type='text' size='30')
tr
td
input(type='submit', name='submit', value='Submit')
我可以使用下面的sampleform.js加载表单,没有问题:
var express = require('express');
var router = express.Router();
/* GET sample form page. */
router.get('/sampleform', function(req, res) {
res.render('sampleform');
});
router.post('/showresults', function(req, res) {
res.render('showresults')
});
module.exports = router;
showresults。jade目前只有静态内容(我没有showresults .js,因为这个页面只从sampleform.js调用):
html
head
title Show Results
body
h2 Show Results
我需要的是按钮提交后,在sampleform中单击名为showresults的新页面显示(它最终将有来自sampleform的数据,但我现在需要的是加载该页面)。上面sampleform.js中的代码产生404错误,我知道它不起作用。我能做什么呢?我错过了什么在app.js代码?
提前感谢您的帮助!
从我所看到的,您在Jade文件中将表单提交到GET
路由,而不是POST
路由,在这里:
form(name='sampleform' action='/sampleform' method='post')
因此,不是将表单提交发送到GET
请求,而是需要将其发送到POST
。您在这里声明了POST
路由:
router.post('/showresults', function(req, res) {
因此,您应该只将Jade文件中的表单中的action
更改为指向/showresults
,因为它是POST
路由而不是GET /sampleform
。然后,您只需要调用req.body
来检索之前提交的整个表单。
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- Django无法通过urls.py配置找到djangular/app.js文件.如何进行故障排除
- 使用Express4将数组从Nodejs中的app.js传递到routes/index.js
- 从Babel 5.8.35升级到6.0.0将不会编译带有SyntaxError和意外标记的app.js
- Zendesk app.js示例用于发送外部电子邮件通知或AJAX请求
- Angularjs app.js getting URL
- 表达快乐.js Restfy Koa app.listen() 和 app.get() 如何工作
- 为Backbone.js源文件(amd-app.js)重新创建构建环境
- ionic框架中的app.js函数冲突
- Trigger $modal.open from app.js
- Angular JS App ng-href compatible for Web and Phonegap / Cor
- what is "app.router" express.js
- 带有查询参数的节点js-app.get方法-内部服务器错误
- Node.js app.post does not populate MongoDB?
- 通过node-js-app连接openshift中的mysql数据库时出错
- 将route从app.js移到route.js, app就不能工作了
- 在Vue.js App中初始化firebase 3.4.0
- 将其他js/app组件(例如jQuery)集成到react.js SPAs中
- 如何在配置中正确注入 adalprovier.js for angular js APP
- Express.js: app.param(param, callback)没有触发?