url是node 的内置模块,用来处理浏览器的路径相关。使用前引入
var url = require('url')
1.url.parse() 把url路径转为url对象,可以在里面方便的获取路径和参数
前端路径: http://localhost:3000/home?name=zhansan&age=18
node中使用
1pathname 获取路径 2query获取参数 3hash获取路径中的哈希值
let urlObj = url.parse(req.url,true)
let urlpathName = urlObj.pathname
console.log(urlObj)
以上的方法新版本的node已经不建议使用了,但是现在还支持。新的写法是内置了一个URL类,无需引入直接使用即可。
第一个参数是req.url, 第二个参数必填,是我们当前的域名。实例化以后的url和通过url.parse获取到的是一样的。
const myUrl = new URL(req.url,'http:localhost:3000')
let urlpathName = myUrl.pathname
querystring是专门用来处理url中携带的参数的。
引入
var querystring = require('querystring')
它主要有两个好用的方法
var querystring = require('querystring')
var str = 'name=shangsan&age=18&username=xixi'
var obj = querystring.parse(str)
console.log(obj)
/**
{
name: 'shangsan',
age: '18',
username: 'xixi'
}
*/
2.stringify 跟parse相反,把对象转成url的参数形式
var obj2 = {
name: 'shangsan',
age: '18',
username: 'xixi'
}
var obj2Str = querystring.stringify(obj2)
console.log(obj2Str) // name=shangsan&age=18&username=xixi