1 回复

在Node.js中处理Query Strings和URLs通常涉及到url模块和querystring模块。这两个模块可以帮助你解析和构建URLs以及处理查询字符串。

解析URLs

首先,让我们看看如何使用url模块来解析一个URL:

const url = require('url');

const myUrl = 'http://example.com:8080/pathname/?search=test&lang=en#hash';
const parsedUrl = url.parse(myUrl, true);

console.log(parsedUrl);
// 输出:
// Url {
//   protocol: 'http:',
//   slashes: true,
//   auth: null,
//   host: 'example.com:8080',
//   port: '8080',
//   hostname: 'example.com',
//   hash: '#hash',
//   search: '?search=test&lang=en',
//   query: { search: 'test', lang: 'en' },
//   pathname: '/pathname/',
//   path: '/pathname/?search=test&lang=en',
//   href: 'http://example.com:8080/pathname/?search=test&lang=en#hash'
// }

处理查询字符串

接下来,使用querystring模块来处理查询字符串:

const querystring = require('querystring');

const obj = { foo: 'bar', baz: ['qux', 'quux'], corge: { grault: 'garply' } };
const queryString = querystring.stringify(obj);

console.log(queryString);
// 输出: foo=bar&baz=qux&baz=quux&corge=[object%20Object]

const parsedObj = querystring.parse(queryString);
console.log(parsedObj);
// 输出: { foo: 'bar', baz: [ 'qux', 'quux' ], corge: '[object Object]' }

这些模块是Node.js处理URLs和查询字符串的核心工具,可以帮助你轻松地解析和构建这些字符串。

回到顶部