请求-encodeURI
一、为什么要使用encodeURI和encodeURIComponent
为了保证前后端的传值是相同的编码格式
二、encodeURI和encodeURIComponent的区别
encodeURI解析范围不包含如下字符:; , / ? : & = + $- _ . ! ~ * ' ( ) 字母 数字
使用场景:如果URL中的查询参数没有特殊字符,可用于转码整个带中文参数的URL查询参数中刚好有? = &不被解析转化前: location.href = "http://localhost:8080/pro?a=1&b=张三&c=aaa";转化后: location.href = "http://localhost:8080/pro?a=1&b=%E5%BC%A0%E4%B8%89&c=aaa"encodeURIComponent解析范围不包含如下字符:- _ . ! ~ * ' ( ) 字母 数字
使用场景:用于参数的传递,参数包含特殊字符可能会造成间断。比如:var paramUrl = "http://localhost:8080/aa?a=1&b=2&c=3";var url = "http://localhost:8080/pp?a=1&b="+ paramUrl ;应该使用encodeURIComponent(paramUrl)进行转码,结果:http://localhost:8080/pp? a=1&b=http%3A%2F%2Flocalhost%3A8080%2Faa%3Fa%3D1%26b%3D2%23%26c%3D3
三、前后端配合使用的一些做法
1、前端编码传给后端,后端解码
2、前端编码两道,后端解码两道
请求-encodeURI相关推荐
- ajax提交相对路径报错,ajax提交请求为啥url要用这个函数encodeURI
参考如下: 如果你是通过form提交的,那就不需要用这个了.但是如果是你使用url的方式 例如:ajax提交到后台的,就需要对url进行encodeURI编码, 否则,会导致后台出现各种乱码,不加en ...
- get请求乱码问题,用encodeURI和decodeURI
get请求乱码问题,用encodeURI和decodeURI 就是前端href=""拼接成一个字符串,如 http://localhost:8888/webpage/cn/ares ...
- axios使用post请求的时候后台接收不到参数
2019独角兽企业重金招聘Python工程师标准>>> import axios from "axios"; import qs from "qs&qu ...
- encodeURIComponent或者encodeURI 不用行不行?
调研条件 客户端:qq浏览器.firfox.chrome 测试用例 url中path带汉字 url中query带汉字 页面中get请求或者post请求 页面中meta元数据 charset=" ...
- Get,Post请求中文乱码问题有效解决方法
对于做Java WEB项目同学来说,中文乱码问题是一个经常遇到而又非常头痛的问题,而最容易出现乱码的环节就是在浏览器向服务器发送请求的过程,至于出现乱码的原因不是本文的关注的重点,想了解的朋友可以参考 ...
- escape()、encodeURI()、encodeURIComponent()区别详解
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...
- jsonp请求url长度过长的替代(ajaxcdr的使用)
问题描述:跨域使用jsonp时url过长的问题 问题解释: 跨域请求时,若用jsonp请求(详情见:MVC4 Web Api 与 Ajax交互存在的跨域问题总结)jsonp因是请求的script标签, ...
- ajax 请求如何解决乱码
今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custI ...
- 解决url请求参数带中文时后台获取出现乱码问题
第一种方法: var url = encodeURI(url);前端js先编码一次, 后台:String test=newString(request.getParameter("test& ...
最新文章
- 第十九章 19 利用私有继承来实现代码重用
- SQLAlchemy()分页器paginate方法
- python中update什么意思_如何在Python中更新字典中键的值?
- linux网络编程-----项目管理工具-----Makefile
- gvim文本编辑器帮助_如何帮助您的文本编辑器帮助您
- CentOS6.5 调整 /home 挂载 分区大小
- 苏州新导监狱戒毒行业工具资产智能管理
- libaio在mysql中的作用,ubuntu安裝mysql遇到的坑----解決Mysql報錯缺少libaio.so.1
- 简单工厂,工厂方法,抽象工厂思想-手机时代的变迁
- 职场思想分享009 | 一个人对待工作的态度决定其成绩的多少?
- 机器学习经典模型简单使用及归一化(标准化)影响
- 奇安信Java后端一面
- shell 特殊符号大全
- 数据结构栈的简单实现(JAVA)
- IT项目管理的六种错误思维
- ARGOX CP-2140MPPLB18X60药柜
- Hibernate中的一对多关系映射
- jsl(jsl音响)
- LW-基于知识图谱的专利推荐系统设计与实现(分类号:TP311 单位代码:10422)观后总结
- H264和X264究竟有什么区别?
热门文章
- 在教室里结束红蜘蛛的控制
- note3 android system recovery,三星note3 N9008V官方刷机包
- android 6.0默认壁纸,我伙呆!安卓6.0壁纸竟然是这样得来的
- 【高性能计算背景】《并行计算教程简介》翻译 - 中文 - 4 / 4
- 我在itpub的日子——写在itpub八周年之际
- 测试人员如何面对开发人员的洗脑?
- 《听什么歌都像是在唱自己》——网易云音乐那些热评
- swoft 2启动rpc
- 【华为OD机试Python实现】HJ38 求小球落地5次后所经历的路程和第5次反弹的高度(中等)
- phpcms 专题功能