请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式
遇到一个问题
在一个地址链接(URL)里使用
url?param1=val1¶m2=val2
的方式传递参数,结果在获取参数值时发现不是当初设定的值。
具体案例
以特殊字符井号(#)为例。
部分参数值丢了
JS里设置参数
window.location="some_web_project/xxx.jsp?param_key=abc#xyz";
Java中取参数值
Sting paramVal = request.getParameter("param_key");
你会发现在 Java 中取到的值,不是设定的
abc#xyz
而是
abc
井号后面的值没了,包括井号本身。
为什么呢?
网上查了下,URL中的井号(#)有其特殊的含义,表示位置(锚点)。
那怎么办呢?参数里就是有特殊字符,怎么才能拿到数据呢?
解决之道
先给参数值编码,再传递即可。
将上面的JS代码改为
var param_val = encodeURIComponent("abc#xyz");
window.location="some_web_project/xxx.jsp?param_key=" + param_val;
小结
如果请求(Request)的参数(Parameter)里包含特殊字符,记得将参数值编码
encodeURIComponent(SPECIAL_VALUE)
请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式的更多相关文章
- WebAPI.请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式 从客户端xx中检测到有潜在危险的Request.Form值
事故现场 报错"从客户端 中检测到有潜在危险的Request.Form值" //后台代码 namespace Test { [RoutePrefix("TestClass ...
- laravel 请求request 接收参数
获取请求输入 获取所有输入值 你可以使用 all 方法以数组格式获取所有输入值: $input = $request->all(); 获取单个输入值 使用一些简单的方法,就可以从 Illumin ...
- 请求(Request)的参数(Param)里包含特殊字符(#等)的正确处理方式
当调用restful接口,并且url中有参数传过去时,比如http://test.com?param=woshi#miaoyinga. 后台在使用@RequestParam("param&q ...
- Jquery的html方法里包含特殊字符的处理
jqueryhtml()特殊字符 在使用jquery的html()方法时,有时候里面添加的html代码含有一些特殊字符,需要进行转义. 如下例子: inst_html = "<a st ...
- sql 字段别名里包含特殊字符
select ename employee.name from emp; 在数据库查询时,如果列名的别名里特殊符号,报错. select ename 'employee.name' from emp; ...
- js 读取包含特殊字符的属性值
在JS中对象的属性可以通过两种方式访问:object.property和object["property"]. 包含特殊字符的属性只能以此方式访问: object["pr ...
- java遍历http请求request的所有参数实现方法
方法一: 通过程序遍历http请求的所有参数放到hashmap中,用的时候方便了. 如果参数值有中文,那么需要在程序中添加filter转码,或者在下面程序里,对paramValue转码 Map map ...
- http请求 url 传递参数(特殊字符)解决方法
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码 十六进制值 1. + URL 中+号表示空格 %2B ...
- 在OnActionExecuted 获取请求参数的值(包含类类型)
1.在OnActionExecuting里 获取请求参数的值 比较简单 /// <summary> /// 获取首参数的值 /// </summary> /// <par ...
随机推荐
- new关键字和newInstance()方法的区别
转载:http://blog.csdn.net/iloveyin/article/details/7965183 1.类的加载方式不同 在执行Class.forName("a.clas ...
- 使用ajax发送邮件的实例
jsp页面代码如下: <tr> <td> 发件人地址:<s:textfield id="fromAddress" name="fr ...
- ID卡常见型号
EM ID卡,主要是采用瑞士EM或台湾GK公司的4100.4102系列IC芯片 + 线圈 + 卡基封装而成. (1)4001感应式ID厚卡:台湾4001 COB 特征:普通型感应卡,厚薄适中,带有ID ...
- POJ 3740 DLX
题意:给你一个01矩阵,然后求是否存在选择一些行,使得每一列的1的个数都为1. 思路:貌似朴素的DFS也可以,加点剪枝就可以过.这里贴个DLX的模版. 推荐博客:http://www.cppblog. ...
- Windows DDB和DIB技术应用(3)--图元外边矩形检测
GDI/GDI+中只有对字体的外边框的测量,而没有提供对点,线,面,曲线的外边框获取函数.下面是本人利用DIB技术编写的探测简单图元,甚至也可以探测自己定义的复杂图元的外边矩形框的函数.本人已经测试, ...
- OpenStreetMap(OSM) features
目录 1 Primary features 1.1 Aerialway 1.2 Aeroway 1.3 Amenity 1.3.1 Sustenance 1.3.2 Education 1.3.3 T ...
- poj1338
Ugly Numbers Time Limit ...
- 【POJ】2318 TOYS ——计算几何+二分
TOYS Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10281 Accepted: 4924 Description ...
- 迷宫寻宝(一)(bfs)
迷宫寻宝(一) 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 一个叫ACM的寻宝者找到了一个藏宝图,它根据藏宝图找到了一个迷宫,这是一个很特别的迷宫,迷宫里有N个编 ...
- wikioi-1039-数的划分
将整数n分成k份,且每份不能为空,任意两种划分方案不能相同(不考虑顺序). dp[i][j]:把数i分成k分的方案数 则:dp[i][j]=sum(dp[i-j][t])(t>=1&&a ...