express手册之五,request和response

来源:互联网 发布:node网络服务器搭建 编辑:程序博客网 时间:2024/05/17 07:17

请求与响应

 

通过http请求get方式

request为请求对象

respose 为响应对象

 

request.param() 获取请求参数

response.send() 发送返回参数

 

 

发送请求参数p=Hello World

返回响应输出Hello World

 

举个栗子(request和response)

以下一个简单的登录功能栗子

 

前端代码:

<!doctypehtml>
<
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.email
// => "tobi@learnboost.com"
 
// POST { "name": "tobi" }
req.body.name
// => "tobi"