请求与响应
通过http请求get方式
request为请求对象
respose 为响应对象
request.param() 获取请求参数
response.send() 发送返回参数
发送请求参数p=Hello World
返回响应输出Hello World
举个栗子(request和response)
以下一个简单的登录功能栗子
前端代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录模块</title>
<script type="text/javascript"src="/javascripts/jquery-3.2.1.min.js"></script>
</head>
<body>
<div>
<input id="usernameTxt"type="text"/>
<input id="passwordTxt"type="password"/>
<input id="btn" type="button"value="提交"/>
</div>
<script type="text/javascript">
$('#btn').on('click',function() {
var name = $('#usernameTxt').val();
var pwd = $('#passwordTxt').val();
var obj = {
username: name,
password: pwd
};
$.ajax({
type: 'POST',
url: '/login',
data: obj,
success: function(data){
if(data.status){
window.location.href = '/';
}else{
alert(status + '登录失败');
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log(textStatus);//若服务端返回数据有误时,错误状态信息
console.log(errorThrown);
},
dataType: 'json' //返回信息必须是json格式
});
});
</script>
</body>
</html>
后端代码:
var express = require('express'); var router = express.Router(); var session = require('express-session'); router.post('/',function(req,res,next) { var name = req.param('username'); var pwd = req.param('password'); console.log(name,pwd); if(name === 'admin' && pwd === '123456'){ session.user = { username : name, password : pwd }; return res.send({ //返回 json结果 status : 1, msg : '登录成功' }); }else{ return res.send({ status : 0, msg : '登录失败' }); } }); module.exports = router;
request.body 和request.query 接收数据方法
request.body 用于 post方式请求,接受数据
request.query 用于 get 方式请求,接受数据
request.query
// GET /search?q=tobi+ferret
req
.query
.q
// => "tobi ferret"
// GET /shoes?order=desc&shoe[color]=blue&shoe[type]=converse
req
.query
.order
// => "desc"
req
.query
.shoe
.color
// => "blue"
req
.query
.shoe
.type
// => "converse"
request.body
// POST user[name]=tobi&user[email]=tobi@learnboost.com
req
.body
.user
.name
// => "tobi"
req
.body
.user
.
// => "tobi@learnboost.com"
// POST { "name": "tobi" }
req
.body
.name
// => "tobi"