querystring的介绍和使用
-
什么是querystring:
例:http://aaa.com/list.html?name=abc&lang=en&b=20
此url中,问号后面的都是querystring(也叫url参数)
用‘&’进行分割,key=value的形式,可继续扩展 -
如何利用querystring实现动态网页
1)服务端拿到querystring
2)根据不同的querystring,返回不同的内容
3)即变化querystring,就是变换内容(只要服务端支持) -
利用querystring实现一个功能,显示全部的list还是显示自己的list,前端通过querystring告诉后端:如前端访问的时候加一个querystring字段 a=1则表示访问全部list
则可写成: localhost:3000/api/list?a=1&b=2
1)获取url中的querystring,代码如下:const queryStr = url.split(’?’)[1] //a=1&b=2
2)解析queryStr中的字段和值,代码如下:
// 解析queryStr
const query = {};
queryStr && queryStr.split('&').forEach(item => {
// item即a=100这种形式
const key = item.split('=')[0]; // 'a'
const val = item.split('=')[1]; // '1'
query[key] = val; // {a: '1', b: '2'}
});
console.log('query is ', query);
3)分情况获取列表,代码如下:
// 定义路由,模拟获取留言板列表:访问该路由则返回的内容
if (path === '/api/list' && method === 'GET') {
if (query.a === '100') {
res.end('this is list router, all')
}
if (query.a === '200') {
res.end('this is list router, only mine')
}
res.end('this is list router')
}
res.end('404')
})