Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.js使用node.js Cloudant DB Web Starter处理表单_Javascript_Node.js_Forms_Ibm Cloud_Cloudant - Fatal编程技术网

Javascript node.js使用node.js Cloudant DB Web Starter处理表单

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

我将Node.js Cloudant DB Web Starter用于一个简单的应用程序,该应用程序接受用户的表单输入并将其插入到Cloudant DB中,但我无法将控制权返回到表单或其他页面。我对这个很陌生,所以很可能是缺乏知识。当我在字段中输入信息并点击submit时,数据会从字段中捕获并插入到cloudant DB中,但是浏览器只显示“OK”,而不会返回表单。我想做的是回到同一页

**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);