mg4377娱乐娱城官网_mg4377娱乐手机版_www.mg4377.com

当前位置: mg4377娱乐娱城官网 > www.mg4377.com > 正文

js中url对象化管理解析

时间:2019-06-02 19:57来源:www.mg4377.com
壹.难点讲述 url.parse() 方法会解析贰个 UEvoqueL 字符串并赶回2个 U福特ExplorerL 对象。 第3个参数私下认可为false,query中为字符串。若为true,则query中为指标 var url = require("url");var str = "htt

壹.难点讲述

url.parse() 方法会解析贰个 UEvoqueL 字符串并赶回2个 U福特ExplorerL 对象。

第3个参数私下认可为false,query中为字符串。若为true,则query中为指标

var url = require("url");

var str = "http://www.itxdl.com:80/path/login/index.html?name=david";

/*
  Url {
 protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'www.itxdl.com:80',
  port: '80',
  hostname: 'www.itxdl.com',
  hash: null,
  search: '?name=david',
  query: 'name=david',
  pathname: '/path/login/index.html',
  path: '/path/login/index.html?name=david',
  href: 'http://www.itxdl.com:80/path/login/index.html?name=david' }

*/
// 原理就是正则的匹配
var obj = url.parse(str);

console.log(obj);

/*
  Url {
  protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'www.itxdl.com:80',
  port: '80',
  hostname: 'www.itxdl.com',
  hash: null,
  search: '?name=david',
  query: { name: 'david' },
  pathname: '/path/login/index.html',
  path: '/path/login/index.html?name=david',
  href: 'http://www.itxdl.com:80/path/login/index.html?name=david' }
*/
  var obj = url.parse(str,true);
  console.log(obj);
getRequest();
function getRequest() {
    var urlData = {};
    var url = location.search; //获取url中"?"符后的字串
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        var strs = str.split("&");
        for(var i = 0; i < strs.length; i   ) {
            urlData[strs[i].split("=")[0]]=decodeURIComponent(strs[i].split("=")[1]);
        }
    }
    return urlData;
}

http://jillix.github.io/url.js/
js中url对象化管理解析。http://www.bootcdn.cn/urljs/

url是web编写进程中一种必需的须要应酬的值,不论是在页面跳转中,依旧ajax请求数据可能别的框架插件的url提供.
对于众多技术员来讲,js中日常境遇需求更换url(首假诺里面所包蕴的参数)的情事,大多数人采纳的秘籍是一贯拼接.
这种措施胜在简练,一样存在繁多相差,如:

补充

一、URL模块
var url = require('url');
url.parse(str):将U卡宴L字符串地址分析为对象
url.format(obj):将对象格式化为U大切诺基L字符串地址

二、querystring模块
var qs = require('querystring');
qs.parse(str):解析UKoleosL字符串后的参数为JS对象
qs.stringify(obj):将目的格式化为UWranglerL字符串

三、path
var path = require('path');
path.join(path1,path2,path3…):拼接path1,path2...
path.resolve(path1,path二…)拼接当前剧本的相对路线和path一,path贰
path.dirname(path):获取当前剧本的相对路线
path.basename(path):获取当前剧本的文书名
path.extname(path):获取当前剧本的后缀名

ECMAScript v叁 已从标准中去除了 unescape() 函数,并不感觉然使用它,由此应当用 decodeU逍客I() 和 decodeUENCOREIComponent() 取代他。 这里习于旧贯使用 unescape 解码的同室注意一下

让我们来测试一下

东拼西凑产生的url安全性上总是存在潜在的生死存亡;

图片 1

从某些完整url中获得在那之中所蕴含的参数和纯地址,以拓展下一步的可比,也是件较费劲的事情;

image.png

2.减轻思路

基于上述难点,小编的缓和政策是将url实行对象化的管住,将url纯地址,url参数分别放到一个指标的次第属性中.
历次对url的退换,可选拔先剖判为指标格式,再转移在那之中一些参数,再组装成为新的url方法.
如此那般构建再起来做的时候大概会以为有个别少见多怪,但在处理局地相比复杂的意况时,会非常方便.

编辑:www.mg4377.com 本文来源:js中url对象化管理解析

关键词: 日记本 前端框架组件