Node.js核心模块-url

引入

const url = require('url')

url.parse(urlString[, parseQueryString[, slashesDenoteHost]])

  • urlString:需要编译的url字符串
  • parseQueryString:布尔类型,默认为false。如果为真,则query属性返回parse之后的对象
const obj = url.parse('http://localhost:3010/post?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA')
console.log(obj)
/*
Url {
    protocol: 'http:',
    slashes: true,
    auth: null,
    host: 'localhost:3010',
    port: '3010',
    hostname: 'localhost',
    hash: null,
    search: '?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA',
    query: 'name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA',
    pathname: '/post',
    path: '/post?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA',
    href: 'http://localhost:3010/post?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA' }
 */

当将parseQuerayaString设置为true时

const obj = url.parse('http://localhost:3010/post?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA', true)
console.log(obj)
/*
Url {
  protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'localhost:3010',
  port: '3010',
  hostname: 'localhost',
  hash: null,
  search: '?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA',
  query: { name: '1234', message: '特为前提其他人' },
  pathname: '/post',
  path: '/post?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA',
  href: 'http://localhost:3010/post?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA' }
 */

打印结果中的query属性值是不一样的

posted @ 2020-02-28 17:37  懒懒同学不懒  阅读(153)  评论(0编辑  收藏  举报