博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nodejs笔记三--url处理、Query String;
阅读量:5087 次
发布时间:2019-06-13

本文共 2240 字,大约阅读时间需要 7 分钟。

URL--该模块包含用以 URL 解析的实用函数。 使用 require('url') 来调用该模块。


 一、parse函数的基础用法

parse函数的作用是解析url,返回一个json格式的数组,请看如下示例:

var url = require('url');url.parse('http://sports.sina.com.cn/nba/')

运行结果:

protocol: 'http:',slashes: true,auth: null,host: 'sports.sina.com.cn',port: null,hostname: 'sports.sina.com.cn',hash: null,search: null,query: null,pathname: '/nba/',path: '/nba/',href: 'http://sports.sina.com.cn/nba/' }

二、parse函数 —— 条件解析;

parse函数的第二个参数是布尔类型,当参数为true时,会将查询条件也解析成json格式的对象。

var url = require('url');url.parse('http://sports.sina.com.cn/nba/',true)

运行结果:

protocol: 'http:',slashes: true,auth: null,host: 'sports.sina.com.cn',port: null,hostname: 'sports.sina.com.cn',hash: null,search: '',query: {},pathname: '/nba/',path: '/nba/',href: 'http://sports.sina.com.cn/nba/' }

三、parse函数 —— 解析主机;

parse函数的第三个参数也是布尔类型的,当参数为true,解析时会将url的"//"和第一个"/"之间的部分解析为主机名,示例如下:

var url = require('url');url.parse('http://sports.sina.com.cn/nba/',false,true)

运行结果:

protocol: 'http:',slashes: true,auth: null,host: 'sports.sina.com.cn',port: null,hostname: 'sports.sina.com.cn',hash: null,search: null,query: null,pathname: '/nba/',path: '/nba/',href: 'http://sports.sina.com.cn/nba/' }

四、url.format(urlObj)

format函数的作用与parse相反,它的参数是一个JSON对象,返回一个组装好的url地址,请看如下示例:

var url = require('url');url.format({    protocol: 'http:',    hostname: 'www.baidu.com',    port: '80',    pathname: '/news',    query: {        page: 1    }});

运行结果:

'http://www.baidu.com:80/news?page=1'

五、resolve函数的基础用法;

url.resolve(from, to),resolve函数的参数是两个路径,第一个路径是开始的路径或者说当前路径,第二个则是想要去往的路径,返回值是一个组装好的url,示例如下:

var url = require('url'); url.resolve('http://example.com/', '/one')  // 'http://example.com/one'url.resolve('http://example.com/one', '/two') // 'http://example.com/two'

Query String--这个模块提供一些处理 query string 的工具。它提供下列方法:


 一、querystring.stringify(obj, [sep], [eq])

序列化一个对象到一个 query string。可以选择是否覆盖默认的分割符('&')和分配符('=')。

querystring.stringify({name:'jone',age:28},',',':')// 运行结果'name:jone,age:28'

二、querystring.parse(str, [sep], [eq], [options])

将一个 query string 反序列化为一个对象。可以选择是否覆盖默认的分割符('&')和分配符('=')。

querystring.parse('name=jone&age=28&work=teacher&address')// 运行结果{ name: 'jone', age: '28', work: 'teacher', address: '' }

相关API参考:

转载于:https://www.cnblogs.com/jone-chen/p/5318932.html

你可能感兴趣的文章
github使用个人总结
查看>>
异常处理
查看>>
Django(四) ORM 外键操作及初识Ajax
查看>>
局部最优解与全局最优解(转)
查看>>
EM算法与混合高斯模型
查看>>
Leetcode 86.分隔链表
查看>>
学习前端开发的第三周
查看>>
bzoj4390: [Usaco2015 dec]Max Flow
查看>>
安装前端脚手架
查看>>
在Oracle 里创建带参数的视图
查看>>
Resharp常用设置收集整理
查看>>
NDK以及C语言基础语法(二)
查看>>
android中与Adapter相关的控件----Spinner&AutoCompleteTextView
查看>>
c实验4
查看>>
HDU 5988 Coding Contest 最小费用流 cost->double
查看>>
android 性能优化 -- 启动过程 冷启动 热启动
查看>>
.NET压缩图片保存
查看>>
解决Struts2.2.20版本的标签不支持style属性的问题
查看>>
风螺旋线的切线(二)
查看>>
阿基米德螺旋限制了我们对螺旋的想像
查看>>