Javascript node.js使用node.js Cloudant DB Web Starter处理表单
我将Node.js Cloudant DB Web Starter用于一个简单的应用程序,该应用程序接受用户的表单输入并将其插入到Cloudant DB中,但我无法将控制权返回到表单或其他页面。我对这个很陌生,所以很可能是缺乏知识。当我在字段中输入信息并点击submit时,数据会从字段中捕获并插入到cloudant DB中,但是浏览器只显示“OK”,而不会返回表单。我想做的是回到同一页Javascript node.js使用node.js Cloudant DB Web Starter处理表单,javascript,node.js,forms,ibm-cloud,cloudant,Javascript,Node.js,Forms,Ibm Cloud,Cloudant,我将Node.js Cloudant DB Web Starter用于一个简单的应用程序,该应用程序接受用户的表单输入并将其插入到Cloudant DB中,但我无法将控制权返回到表单或其他页面。我对这个很陌生,所以很可能是缺乏知识。当我在字段中输入信息并点击submit时,数据会从字段中捕获并插入到cloudant DB中,但是浏览器只显示“OK”,而不会返回表单。我想做的是回到同一页 **app.js** var db = nano.use('contactme'); var bodyP
**app.js**
var db = nano.use('contactme');
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.post('/', function(req, res) {
// console.log(req.body);
res.sendStatus(200);
res.redirect('http://xyz.mybluemix.net/#top');
var form_name=req.body.name;
var form_email=req.body.email;
var form_message=req.body.message;
db.insert({"email": form_email,
"name": form_name,
"message": form_message}, null, function(err, body) {
if (!err){
console.log(body);
}
});
});
**index.html**
<p>If you would like to contact me please use this form below.</p>
<form method="post" action="/" >
<div class="row 50%">
<div class="6b"><input type="text" name="name" placeholder="Name" /></div>
<div class="6b"><input type="text" name="email" placeholder="Email" /></div>
</div>
<div class="row 50%">
<div class="12b">
<textarea name="message" placeholder="Message"></textarea>
</div>
</div>
<div class="row">
<div class="12b">
<input type="submit" value="Send Message" />
</div>
</div>
</form>
**app.js**
var db=nano.use('contactme');
var bodyParser=require('body-parser');
use(bodyParser.urlencoded({extended:true}));
use(bodyParser.json());
app.post(“/”,函数(请求,res){
//控制台日志(请求主体);
res.sendStatus(200);
reshttp://xyz.mybluemix.net/#top');
var form_name=req.body.name;
var form_email=req.body.email;
var form_message=req.body.message;
db.插入({“电子邮件”:表格_电子邮件,
“名称”:表格名称,
“message”:form_message},null,函数(err,body){
如果(!err){
控制台日志(主体);
}
});
});
**index.html**
如果您想联系我,请使用下面的表格
希望这有帮助。您的代码介于伪代码和真实代码之间。因此,我只保留了一些最基本的东西来演示如何将表单重新发送给客户。一旦您提交表单,它将返回到哪里?Node.js应用程序中是否有其他路由?
var express = require('express');
var fs = require('fs');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var index = fs.readFileSync('./index.html');
// primary route which handles get request, when the browser access first time.
app.get('/', function(req, res) {
// provide the form
res.end(index);
});
// form route. Do the db stuff with the form data, and give back the form.
app.post('/', function(req, res) {
console.log(req.body);
// do with the db stuff.
res.end(index);
});
app.listen(30000);