基于Express框架使用POST传递Form数据


Posted in Javascript onAugust 10, 2019

本文实例为大家分享了基于Express框架使用POST传递Form数据的具体代码,供大家参考,具体内容如下

客户端使用Form发送数据

在客户端Html文件中Form代码如下:

<!-- POST test -->
<form action="/test" method="post" id="foo" >
 <input type="text" name="username">
 <input type="password" name="password">
 <input type="submit">
</form>

在服务器端处理'/test' POST请求的代码如下: 

var bodyParser = require('body-parser');
 
// ... 
 
// create application/json parser
var jsonParser = bodyParser.json()
 
// create application/x-www-form-urlencoded parser
var urlencodedParser = bodyParser.urlencoded({ extended: false })
 
// ... 
 
// 
// request from form of the html file
// 
app.post('/test', urlencodedParser, function(req, res) { 
 if (!req.body) return res.sendStatus(400);
 
 console.log('Username: ' + req.body.username);
 console.log('Password: ' + req.body.password);
 
 res.send('Welcome, ' + req.body.username); 
});

客户端使用Node.js发送数据

在客户端使用Node.js发送Form数据的代码

const http = require('http');
 
var data = { 
 username: 'foo', 
 password: "test" 
}; 
 
var postData = require('querystring').stringify(data); 
console.log( postData ); 
 
function form()
{
 var options = { 
 method: "POST", 
 host: "localhost", 
 port: 80, 
 path: "/test", 
 headers: { 
  "Content-Type": 'application/x-www-form-urlencoded', 
  "Content-Length": postData.length 
 } 
 }; 
 
 var body = ''; 
 var request = http.request( options, function(res) { 
 // show results 
 console.log('STATUS: ' + res.statusCode); 
 res.setEncoding('utf8'); 
 res.on('data', function(chunk) { 
  body += chunk;
  console.log('BODY: ' + chunk); 
 }); 
 
 res.on('end', function(err) { 
  console.log( ' complete.'); 
 }); 
 }); 
 request.on("error", function(e) { 
  console.log('upload Error: ' + e.message); 
 }) 
 
 request.write( postData );
 request.end(); 
}
 
form();

客户端使用jQuery发送数据

客户端使用jQuery的 $.ajax post数据,

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>Post Data</title>
 <script src="jquery.min.js" type="text/javascript"></script>
 <script src="client.js" type="text/javascript"></script>
</head>
<body>
 
<!-- POST test -->
<form action='/update' method='post' id='foo' > Parameters
<table border="0">
 <tr>
 <td> File Name</td>
 <td> <input type="text" name="filename" value = "foo.txt" /></td>
 </tr>
</table> 
</form>
<button name="button1" id='startButton' > Update</button>
 
</body>
</html>

client.js 

$(document).ready(function(){ 
 
 //try joining the server when the user clicks the connect button
 $("#startButton").click(function () {
 var filename = $("#input[name=filename]").val();
 
 $.ajax({
 type: 'POST',
 url: "/update",
 // dataType: "jsonp",
 data: { "filename": filename} , 
 jsonpCallback: 'callback', 
 success: function (data) {
  // ...
 },
 error: function (xhr, status, error) {
  console.log('Error: ' + error.message);
 },
 });
 
 });
});

server端使用node.js解析数据

//
// Modules 
var express = require('express'); 
var bodyParser = require('body-parser'); 
 
//
// Global variables 
var app = express(); 
 
// body parser
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
 
 
/* POST /update listing. */
app.post('/update', function(req, res, next) {
 // Checking require
 if (!req.body) return res.sendStatus(400); 
 
 console.log('filename: ' + req.body.filename); 
 
 res.redirect('./');
});

参考文献:expressjs/body-parser 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js字母大小写转换实现方法总结
Nov 13 Javascript
js/jquery判断浏览器的方法小结
Sep 02 Javascript
jQuery通过Ajax返回JSON数据
Apr 28 Javascript
AngularJS实现动态编译添加到dom中的方法
Nov 04 Javascript
bootstrap suggest下拉框使用详解
Apr 10 Javascript
JavaScript之RegExp_动力节点Java学院整理
Jun 29 Javascript
javascript和php使用ajax通信传递JSON的实例
Aug 21 Javascript
解决JS表单验证只有第一个IF起作用的问题
Dec 04 Javascript
vue-cli3搭建项目的详细步骤
Dec 05 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
JavaScript实现移动小精灵的案例代码
Dec 12 Javascript
vue项目支付功能代码详解
Feb 18 Vue.js
Vue实现点击显示不同图片的效果
Aug 10 #Javascript
vue+eslint+vscode配置教程
Aug 09 #Javascript
一个手写的vue放大镜效果
Aug 09 #Javascript
详解Vue-cli3.X使用px2rem遇到的问题
Aug 09 #Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
Aug 09 #Javascript
小程序Request的另类用法详解
Aug 09 #Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
Aug 09 #Javascript
You might like
PHP获取文件相对路径的方法
2015/02/26 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
PHP解决中文乱码
2017/04/28 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
Typescript的三种运行方式(小结)
2019/09/18 Javascript
解决vue-cli输入命令vue ui没效果的问题
2020/11/17 Javascript
React中使用Vditor自定义图片详解
2020/12/25 Javascript
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
python通过邮件服务器端口发送邮件的方法
2015/04/30 Python
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
会计系毕业个人自荐信格式
2013/09/23 职场文书
计算机专业推荐信范文
2013/11/27 职场文书
高中美术教学反思
2014/01/19 职场文书
高三自我评价
2014/02/01 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
拓展训练激励口号
2014/06/17 职场文书
一年级语文下册复习计划
2015/01/17 职场文书
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js