nodejs中router.get怎么解释
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs中router.get怎么解释相关的知识,希望对你有一定的参考价值。
做过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);
); 参考技术A 场景就是单纯大登录操作:传递两个参数用户名和密码
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);
);本回答被提问者采纳
解决nodejs koa框架cookies不能存中文的问题
cookies保存中文会报错:
可以通过 new Buffer 来把字符串转成base64,之后取出来,再转成字符串
var Koa = require('koa')
var Router =require('koa-router')
var app = new Koa()
var router = Router()
router.get('/',(ctx,body)=>
let name = new Buffer('张三').toString('base64')
ctx.cookies.set('authId',name,
/**省略 */
)
ctx.body="首页"
)
router.get('/news',(ctx,body)=>
let data= ctx.cookies.get('authId')
let name= new Buffer(data,'base64').toString()
console.log(name)
ctx.body="新闻页面"
)
app.use(router.routes()).use(router.allowedMethods())
app.listen(8000);
当然上面的可以不实例化 new Buffer(), 直接调用函数Buffer()也可以。
以上是关于nodejs中router.get怎么解释的主要内容,如果未能解决你的问题,请参考以下文章