前端培训丁鹿学堂:node之url模块和querystring模块总结

123 阅读1分钟
nodejs之url模块解析

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模块

以上的方法新版本的node已经不建议使用了,但是现在还支持。新的写法是内置了一个URL类,无需引入直接使用即可。 第一个参数是req.url, 第二个参数必填,是我们当前的域名。实例化以后的url和通过url.parse获取到的是一样的。

    const myUrl = new URL(req.url,'http:localhost:3000')
    let urlpathName = myUrl.pathname
node模块之querystring

querystring是专门用来处理url中携带的参数的。 引入

var querystring = require('querystring')

它主要有两个好用的方法

  1. parse
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