nodejs笔记三--url处理、Query String;
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参考:http://nodeapi.ucdok.com/#/api/all.html
nodejs笔记三--url处理、Query String;的更多相关文章
- Asp.net core 学习笔记 (操作 url and query params)
更新 :2018-7-25 直接添加 query string. var resetPasswordLink = QueryHelpers.AddQueryString($"{Request ...
- URL query string中文字符问题
如果URL的query string中包含中文字符,在不做特殊处理的情况下通过 request.getParameter 方法是获取不到正确的信息的,这是由于下面的两个机制造成的 浏览器会自动对URL ...
- <原>ASP.NET 学习笔记之HTML helper中参数何时会是路由参数,何时又会是query string?
HTML helper中参数何时会是路由参数,何时又会是query string? @Html.ActionLink("Edit", "Edit", new ...
- 前端笔记之NodeJS(三)Express&ejs模板引擎&请求识别
一.Express框架 1.1基本使用 创建http服务器特别麻烦,express框架解决了这个的问题. Express在node界的地位,就相当于jQuery在DOM界的地位.jQuery的核心就是 ...
- convert URL Query String to Object All In One
convert URL Query String to Object All In One URL / query string / paramas query string to object le ...
- 使用Retrofit时出现 java.lang.IllegalArgumentException: URL query string "t={type}&p={page}&size={count}" must not have replace block. For dynamic query parameters use @Query.异常原因
/** * Created by leo on 16/4/30. */ public interface GanchaiService { @GET("digest?t={type}& ...
- Nodejs express 获取url参数,post参数的三种方式
express获取参数有三种方法:官网实例: Checks route params (req.params), ex: /user/:id Checks query string params (r ...
- kibana的query string syntax 笔记
kibana的query string syntax 并不是 Query String Query,只能说类似.kibana的 Lucene query string syntax(es的query ...
- 最近学习总结 Nodejs express 获取url参数,post参数的三种方式
express获取参数有三种方法:官网实例: Checks route params (req.params), ex: /user/:id Checks query string params (r ...
随机推荐
- javaSE第二十二天
第二十二天 312 1:登录注册IO版本案例(掌握) 312 2:数据操作流(操作基本类型数据的流)(理解) 313 (1)定义: 313 (2)流对象名称 313 (3 ...
- Excel导入数据(97--2003版本)的ExcelHelper
首先确定excel的版本为97~2003版本 其次创建一个帮助类——ExcelHelper //单个sheet public static DataTable AnalysisExcel(string ...
- [leetcode]_K Sum 问题
问题:K Sum问题是一个问题系列,在一个数组中找K个数的和能够满足题目中要求.从2 Sum 到 3 Sum , 3 Sum Clozet , 4 Sum..解法虽一开始不容易想到,但get到解题技能 ...
- Knockout.Js官网学习(html绑定、css绑定)
Html绑定 html绑定到DOM元素上,使得该元素显示的HTML值为你绑定的参数.如果在你的view model里声明HTML标记并且render的话,那非常有用. 简单示例 <div dat ...
- java中4中类修饰符访问范围
public:本类中可见,同包中可见,子类中可见,其他包中可见. protected:本类中可见,同包中可见,子类中可见,其他包不可见. 默认:本类中可见,同包中可见,子类不可见,其他包不可见. pr ...
- js控制div动起来
代码: <html> <head> <title>让div动的测试</title> <script language="javascri ...
- c++ 类与函数中static变量初始化问题(转)
首先static变量只有一次初始化,不管在类中还是在函数中..有这样一个函数: void Foo() { ; // initialize std::cout << a; a++; } 里的 ...
- Ubuntu 下安装 Oracle JDK
sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java8-ins ...
- Oracle之Linux下核心参数
kernel.shmmax 用于定义单个共享内存段的最大值: 建议一个大的共享内存段能容纳整个SGA,这样在任何时候都不会有性能下降的隐患: 建议:32位Linux 物理内存大于4G 的设置为4G 即 ...
- XAML(2) - 依赖属性
3.依赖属性 在用WPF编程时,常常会遇到"依赖属性"这个术语.WPF元素是带有方法,属性和事件的类.WPF元素的几乎每个属性都是依赖属性, 这是什么意思?依赖属性可以依赖其他输入 ...