node 使用get和post向后台请求数据的使用方式对比

来源:互联网 发布:电国网络电视直播台 编辑:程序博客网 时间:2024/06/05 05:07

做过web开发的朋友对get和post 的请求的区别肯定十分了解,我就不多讲述了。

下面主要介绍一下get和post请求在node中使用的不同

场景就是单纯大登录操作:传递两个参数用户名和密码


get请求:

前台:

function login() {    var name = $('#name').val();    var password = $('#password').val();    if (!name || !password) {        alert('用户名和密码都不能为空');        return;    }    $.ajax(        {
            type: 'get',            url: '/login',            data: {                name: name,                password: password            },            dataType: 'json',            success: function (data) {                if (data) {                }            },            error: function () {                alert('登录失败!');                return;            }        });}

后台:

var express = require('express');var router = express.Router();router.get('/login', function (req, res, next) {    var name = req.query.name;    var pass = req.query.password;    console.log('name:' + name);    console.log('pass:' + pass);    if (name == 'sis' && pass == '1') {        res.send('1');    }    res.end('is over');});

post请求:

前台:

function login() {    var name = $('#name').val();    var password = $('#password').val();    if (!name || !password) {        alert('用户名和密码都不能为空');        return;    }    $.ajax(        {            type: 'post',            url: '/login',            data: {                name: name,                password: password            },            dataType: 'json',            success: function (data) {                if (data) {                }            },            error: function () {                alert('登录失败!');                return;            }        });}

后台:

var express = require('express');var router = express.Router();router.post('/login', function (req, res, next) {    var name = req.body.name;    var pass = req.body.password;    console.log('name:' + name);    console.log('pass:' + pass);    if (name == 'sis' && pass == '1') {        res.send('1');    }    res.end('is over');});
从文章中可以明显看出get和post请求在node中区别,使用get请求时一定要使用get方法进行监听,并且获取传递过来的参数是要使用query,使用post请求时一定要使用post方法进行监听,同时获取数据是要使用body。至于为什么这样做我暂时不是很清楚,如果我搞清楚了会及时补充上去,欢迎大家补充。

顺带补充,还有一种方法传递参数给server,就是使用路径的方式,可以利用web server的http routing来解析,常见于各种web Framework。这不算是传统标准规范的做法,是属于htto routing的延伸使用

router.get('/login', function(req, res) {    console.log(req.params.name);    console.log(req.params.password);});


0 0