明霞山资源网 Design By www.htccd.com
本文实例为大家分享了基于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="/UploadFiles/2021-04-02/jquery.min.js">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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。