分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

js encodeURI 和 encodeURIComponent 的区别

发布时间:2023-09-06 02:12责任编辑:熊小新关键词:js

一、共同点

  1. 把字符串作为 URI 进行编码

  2. 方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ‘ ( ) 。

二、区别

1.encodeURI(URIstring): 

  对在 URI 中具有特殊含义的 ASCII 标点符号,不会进行转义的:;/?:@&=+$,#

console.log(encodeURI("http://www.baidu.com.cn"));//http://www.baidu.com.cnconsole.log(encodeURI("http://www.baidu.com.cn/p 1/"));//http://www.baidu.com.cn/p%201/console.log(encodeURI(",/?:@&=+$#"));//,/?:@&=+$#

2.encodeURIComponent(URIstring)

  对在 URI 中具有特殊含义的 ASCII 标点符号,也会进行转义的:;/?:@&=+$,#

console.log(encodeURIComponent("http://www.baidu.com.cn"));//http%3A%2F%2Fwww.baidu.com.cnconsole.log(encodeURIComponent("http://www.baidu.com.cn/p 1/"));//http%3A%2F%2Fwww.baidu.com.cn%2Fp%201%2Fconsole.log(encodeURIComponent(",/?:@&=+$#"));//%2C%2F%3F%3A%40%26%3D%2B%24%23

三、解决url传递解析不正确的问题

  1. 中文

  2. 参数比较复杂

 ?var req=encodeURIComponent(`{"query":{"discoverId":${this.curDiscoverId}},"page":{"pageSize":20,"pageNo":${curPage}}}`);

js encodeURI 和 encodeURIComponent 的区别

原文地址:https://www.cnblogs.com/yuesu/p/9561835.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved