URL对于我们开发人员来讲,应该是非常熟悉了。在对URL进行参数拼接时,我们一般都会直接进行字符串拼接或使用模版字符串,因为这样非常方便,但是我们这样其实会在不知不觉中以不安全的方式编写 URL。,比如,我们通常会这样写:,这样确实写起来非常方便,但你可能会在不知不觉中会你的程序带来一些问题。(如上代码就是一段有问题的代码),如果这篇文章有帮助到你,️关注+点赞️鼓励一下作者,文章公众号首发,关注 前端南玖 第一时间获取最新文章~,,这种错误可能在新手身上比较常见,但即使是经验老道的程序员也不可能绝对避免这个错误。造成这个错误的罪魁祸首绝大多数是在修改或移动代码之后。例如,你有一个结构正确的 URL,然后将一个片段从一个片段复制到另一个片段,然后错过了参数分隔符的错误排序。,,许多时候我们URL上的参数是需要进行编码的,因为URL参数可以是任意类型的文本,包括空格和特殊字符,这会给我们带来一些无法预料的问题。,所以为了避免这种情况,我们往往会这样写:,但这样的写法给人的感觉是非常的冗余且不雅观,,有时候我们为了将一个长 URL 分成多行,我们会不小心在 URL,中包含了换行符和额外的空格,这将导致无法按预期进行抓取。,所以为了正确分解URL字符串,我们通常会这样写:,但这样是我们的代码变得更加混乱以及难以阅读。,难道就没有一种既安全又优雅的方法来编写URL吗?🤔,既优雅又安全的方法就是使用URL构造函数。,如果给定的基本 URL 或生成的 URL 不是有效的 URL 链接,则会抛出一个TypeError。,是一个表示绝对或相对 URL 的 DOMString。如果url 是相对 URL,则会将 base 用作基准 URL。如果 url 是绝对 URL,则无论参数base是否存在,都将被忽略,是一个表示基准 URL 的 DOMString,在 url 是相对 URL 时,它才会起效。如果未指定,则默认为 ”,所以上面的URL我们就可以这样来写:,这样写就可以为我们解决这些问题:,对于我们在不知道当前参数状态下的情况,它也非常适用。,比如:,使用URL构造函数我们可以这样写:,现在,我如果想在没有库的情况下从当前 URL 读取查询参数这个由来已久的问题也得到了解决。,这不仅限于浏览器,它也可以在 Node.js 中使用,URL 实例支持您已经在浏览器中使用的所有属性,例如 onwindow.location或 anchor 元素,所有这些我们都可以读写:,,该URLSearchParams对象可在URL实例上访问,url.searchParams支持许多方便的方法:,new URL基本支持所有现代浏览器(除了IE),以及 Node.js。,
文章版权声明
1 原创文章作者:cmcc,如若转载,请注明出处: https://www.52hwl.com/19571.html
2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈
3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)
4 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别