java中等效encodeuri_[Java教程]encodeURI 和encodeURIComponent
[Java教程]encodeURI 和encodeURIComponent
0 2015-12-03 19:00:31
转自zccst的又一次掉进encodeURIComponent的坑里了
问题:
ajax.get ( url+'?k1'=v1+'&k2'=v2+'&k3'=v3, ... );
由于URL只进行了encodeURI编码,所以想提交的参数有searchWord = a+b时,变成了a b。
解决办法:
ajax.post( url, params,....)
其中params是对象。
原因:如果参数是对象或数组时,组件库已经帮你进行encodeURIComponent了。 而如果你仅仅是字符串,组件库什么也没做,所以到后端时就把特殊字符给过滤了。
encodeURI()用法
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#
提示:如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。
例子:document.write(encodeURI("http://www.w3school.com.cn")+ "
") document.write(encodeURI("http://www.w3school.com.cn/My first/")) document.write(encodeURI(",/?:@&=+$#")) //批注:只转换域名后面的部分,并且对,/?:@&=+$#不处理。 // http://www.w3school.com.cn // http://www.w3school.com.cn/My%20first/ // ,/?:@&=+$#
decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
encodeURIComponent()用法
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
提示:请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
例子:document.write(encodeURIComponent("http://www.w3school.com.cn")) document.write(encodeURIComponent("http://www.w3school.com.cn/p 1/")) document.write(encodeURIComponent(",/?:@&=+$#")) //对比 // http%3A%2F%2Fwww.w3school.com.cn // http%3A%2F%2Fwww.w3school.com.cn%2Fp%201%2F // %2C%2F%3F%3A%40%26%3D%2B%24%23
decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。
本文网址:http://www.shaoqun.com/a/164024.html
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。
0
java中等效encodeuri_[Java教程]encodeURI 和encodeURIComponent相关推荐
- Java中的记录器 - Java日志示例
Java中的记录器 - Java日志示例 今天我们将研究Java中的Logger.Java Logger提供了java编程的日志记录. 目录[ 隐藏 ] 1 Java中的记录器 1.1 Java Lo ...
- Java中的正则表达式 - Java Regex示例
Java中的正则表达式 - Java Regex示例 欢迎使用Java中的正则表达式.它在Java中也称为Regex.当我开始编程时,java正则表达式对我来说是一场噩梦.本教程旨在帮助您掌握Java ...
- Java中apple导入那个包_在Java中,由Java编泽器自动导入而无需在程序中用import导入的包是()。A.java.appletB.java.awtC.j...
在Java中,由Java编泽器自动导入而无需在程序中用import导入的包是().A.java.appletB.java.awtC.j 更多相关问题 问卷星是一个专业.无限制的免费在线问卷调查.测评. ...
- java中 数组声明,java数组声明格式
java 声明动态数组,java对象数组详解,java中声明数组,java数组声明格式 Java 中数组的声明一维数组的声明: 在 Java 中,数组是独立的对象,有自身的方法,不是变量的集合. 数组 ...
- Java中注解学习系列教程-2
简介 在上一篇文章中,我们讲解了:Java中注解的定义.JDK中内置注解.第三方注解.本文是注解系列教程中的第二篇.来看看今天主要内容:1:注解的分类2:元注解说明3:自定义注解声明一:注解的分类注解 ...
- Java中注解学习系列教程-1
前言: 我们为什么要学习注解? 注解是我们的编程更简洁明了.spring boot的流行也带动了注解.spring boot中就使用了大量的注解来减少配置.我们在使用spring boot开发时候,感 ...
- java中等效encodeuri_encodeURI来解决URL传递时的中文问题
在AJAX浏览器来进行发送数据时,一般它所默认的都是UTF-8的编码. 使用JQUERY中所提供的方法来做操作 encodeURI function verify() { //解决中文乱麻问题的方法1 ...
- java中的service层教程_Service 层实现
一.实验介绍 1.1 实验内容 本节课程主要利用 Spring 框架实现 Service 层. 1.2 实验知识点 Spring 框架 1.3 实验环境 JDK1.8 Eclipse JavaEE 二 ...
- java中flush 函数,Java DataOutputStream.flush()类型
DataOutputStream(OutputStream out)构造函数 DataOutputStream的DataOutputStream.flush()具有以下语法. public void ...
最新文章
- CentOS 7部署OpenStack(9)—部署dashboard
- php编写函数6,编写自己的PHP扩展函数
- 九妹带你走向 架构师
- HAPPY2020暑假训练前复习
- 中兴zxr10路由器重启命令_蒲公英路由器刷第三方固件(一)
- JavaScript中的类方法、对象方法、原型方法
- Matlab图形修饰之裁剪处理
- 流媒体服务器搭建详解
- python的安装以及使用和文本编译器的安装使用
- java学习资料免费下载(持续更新ing)
- KUKA力控软件使用问题介绍
- java空瓶换饮料的程序实现
- Python第一课:print()函数、变量与赋值
- [Pandas] 分组比例计算求和
- 推荐:Nginx 会话黏着一致性解决
- iframe父页面子页面相互调用方法
- MySQL - 04.数据控制语言(Data Control Language,DCL)
- 祝贺Phyllis Turner女士成为世界上最年长的硕士!
- 高德地图开发(三、地图marker点标记)
- Electron-vue 安装步骤
热门文章
- 装完服务器打补丁,看看有谁比我更无聊~
- Failed to connect to github.com port 443 after 21035 ms: Timed out
- 解决ssh: connect to host github.com port 22: Connection refused
- 基于php+mysql购物商城 校园二手商品 图书鲜花商城 毕业设计(2)分类
- 黄金矿工--回溯算法
- MIT cheetah make时 error: ‘ioctl’ was not declared in this scope
- 两个曲柄滑块机构组成简单机械系统
- SAP 教程之 05 如何创建 IDOC 基本类型文档?
- 不得不吐槽一下《IOS开发指南》关东升
- xp系统安装教程图解