基于Express框架使用POST传递Form数据
本文实例为大家分享了基于Express框架使用POST传递Form数据的具体代码,供大家参考,具体内容如下
客户端使用Form发送数据
在客户端Html文件中Form代码如下:
在服务器端处理'/test'POST请求的代码如下:
varbodyParser=require('body-parser');
//...
//createapplication/jsonparser
varjsonParser=bodyParser.json()
//createapplication/x-www-form-urlencodedparser
varurlencodedParser=bodyParser.urlencoded({extended:false})
//...
//
//requestfromformofthehtmlfile
//
app.post('/test',urlencodedParser,function(req,res){
if(!req.body)returnres.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数据的代码
consthttp=require('http');
vardata={
username:'foo',
password:"test"
};
varpostData=require('querystring').stringify(data);
console.log(postData);
functionform()
{
varoptions={
method:"POST",
host:"localhost",
port:80,
path:"/test",
headers:{
"Content-Type":'application/x-www-form-urlencoded',
"Content-Length":postData.length
}
};
varbody='';
varrequest=http.request(options,function(res){
//showresults
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('uploadError:'+e.message);
})
request.write(postData);
request.end();
}
form();
客户端使用jQuery发送数据
客户端使用jQuery的 $.ajaxpost数据,
PostData Parameters FileName Update
client.js
$(document).ready(function(){
//tryjoiningtheserverwhentheuserclickstheconnectbutton
$("#startButton").click(function(){
varfilename=$("#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
varexpress=require('express');
varbodyParser=require('body-parser');
//
//Globalvariables
varapp=express();
//bodyparser
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
/*POST/updatelisting.*/
app.post('/update',function(req,res,next){
//Checkingrequire
if(!req.body)returnres.sendStatus(400);
console.log('filename:'+req.body.filename);
res.redirect('./');
});
参考文献:expressjs/body-parser
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。