如何将数据从表单传递到路由器
How to pass data from form to router
我是java脚本和node.js
的新手;以防出现一些错误。请原谅我。
我正在尝试编写一个简单的Node.Js
服务器端应用程序。
我在这里试图实现的是。在视图上,我有文本框和一个提交按钮。当我通过提交按钮时。写入文本框中的数据应传递给路由器(index.js
),并由路由器进行处理。
请参阅下面的代码。
查看代码
extends layout
block content
h1= title
form#formReadCSV(name="readCSVFile",method="post",action="/readCSVFile")
input#inputCompleteCSVPath(type="text", placeholder="Complete Path" name="fileCSV")
button#btnOpenFile(type="submit") Submit
router(index.js)
router.post('/readCSVFile',function(req,res){
/*Read the complete Path*/
var fileName = req.body.fileCSV;
//console.log(fileName);
var reader = csv.createCSVFileReader(fileName,{
'separator':',',
'quote':'"',
'escape':'"',
});
reader.addListener('data',function(data){
console.log(data);
});
reader.addListener('end', function() {
console.log("END");
res.render('success_csv_upload', {message : "Successfully consumed the CSV file"});
});
现在按提交按钮。这是一些如何没有到达路由器。我收到以下错误
csv is not defined
ReferenceError: csv is not defined
at /Users/rajesh/Documents/NodeProject/nodetest1/routes/index.js:26:15
at Layer.handle [as handle_request] (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/router/layer.js:82:5)
at next (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/router/route.js:100:13)
at Route.dispatch (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/router/route.js:81:3)
at Layer.handle [as handle_request] (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/router/layer.js:82:5)
at /Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/router/index.js:234:24
at Function.proto.process_params (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/router/index.js:312:12)
at /Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/router/index.js:228:12
at Function.match_layer (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/router/index.js:295:3)
at next (/Users/rajesh/Documents/NodeProject/nodetest1/node_modules/express/lib/router/index.js:189:10)
有什么方法可以调试node.js
.
问候拉杰什
安装模块 csv
npm install ya-csv
将其添加到代码中
var csv = require('ya-csv');
例:
模块
npm install ya-csv
npm install multer
形式
form#formReadCSV(name='readCSVFile', method='post', action='/readCSVFile', enctype='multipart/form-data')
input#inputCompleteCSVPath(type='file', placeholder='Complete Path', name='fileCSV')
button#btnOpenFile(type='submit') Submit
.JS
var express = require('express');
var app = express();
var router = express.Router()
var csv = require('ya-csv');
var multer = require('multer');
app.set('view engine', 'jade');
app.set('views', __dirname + '/views');
app.use(multer({ dest: './uploads/'}))
router.get('/', function (req, res) {
res.render('index');
});
router.post('/readCSVFile', function (req, res) {
var reader = csv.createCsvFileReader(req.files.fileCSV.path, {'separator':',', 'quote':'"', 'escape':'"'});
reader.addListener('data', function (data) {
console.log(data);
});
reader.addListener('end', function() {
res.send('File was processed');
});
});
app.use('/', router);
app.listen(3000);
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何使用WCF服务和javascript表单post上传.doc文件
- Javascript生成的表单未提交
- 如何使用javascript或html下载PDF格式的填写表单
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- Ajax发布表单序列化,发布引号'
- 多级HTML表单
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 在验证和发送邮件后更改联系人表单的 html
- jQuery表单添加不适用于下拉列表
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- 如何从pdftron webviewer获取表单数据
- JS验证ajax返回的html中的表单数据
- Javascript更新孙窗口中的表单元素
- 解析javascript表单验证器
- 流星 - 添加带有熨斗的路由后无法提交用户.路由器到登录和注册表单
- 检查angularjs中未保存的表单数据(使用ui路由器的多个表单)
- 如何将数据从表单传递到路由器