`
fengyong0912
  • 浏览: 103866 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

带“+”号的参数值通过url传递,后台取不到正确值

    博客分类:
  • JAVA
阅读更多

带“+”号的参数值通过url传递,后台取不到正确值 问题是这样的: --W9/baseTestPoint.jsp 旧源代码: javascript: var url = "

<!--ppUr-->

/quality/qualityStandard.do?method=getSelectedStandard_d&mtrl_no="+mtrl_no +"&quality_type="+quality_type+"&standard_item="+stardard_item; Tldown.func("Load",encodeURI(url)); quality_type的值为“类型” standard_item的值为“a+28+b+28”。 java后台取: String quality_type = base.utf8(request.getParameter("quality_type")); String standard_item = base.utf8(request.getParameter("standard_item")); standard_item得到“a 28 b 28” 后来我通过在javascript输出encodeURI(url),encodeURIComponent(url)的值: url: encodeURI(url): encodeURIComponent(url): 经过对照,决定只对带特殊值的参数做encodeURIComponent转换。同时,寻找后台解码的方法。最后,解决方案如下: javascript修改如下: var url = "

<!--ppUr-->

/quality/qualityStandard.do?method=getSelectedStandard_d&mtrl_no="+mtrl_no +"&quality_type="+quality_type+"&standard_item="+encodeURIComponent(stardard_item); Tldown.func("Load",encodeURI(url)); java: String standard_item = java.net.URLDecoder.decode(request.getParameter("standard_item"),"UTF-8"); String quality_type = base.utf8(request.getParameter("quality_type")); 总结: encodeURI对+号不编码,而encodeURIComponent会对“+”号做编码,但是,不能对整个url做encodeURIComponent,因为这样会连“//”,“/”都会被解析,就不再是一个正确的url。 另外,对encodeURIComponent后提交的数据,必须使用java.net.URLDecoder.decode解析。而被encodeURI后的数据,如汉字,可以直接通过转换编码类型获得正确内容。

分享到:
评论

相关推荐

    快速解决angularJS中用post方法时后台拿不到值的问题

    用angularJS中的$http服务碰到了一个问题:运用$http.post方法向后台传递数据时,后台的php页面获取不到data参数传过来的值。 不论是这种姿势: $http.post( "1.php", { id: 1 }).success(function (data) { ...

    精易模块[源码] V5.15

    6、修正“文本_加密”返回文本传递给“文本_解密”后长度不正确BUG,改为返回字节集。 7、改善“外部编辑框_取密码框文本”当不是密码输入属性时不做任何处理,感谢易友【@wjt741106】反馈。 8、恢复“文本_加密”与...

    浪漫星空音乐电台 (javascript+xml+html) 附后台生成静态

    这是终结版了!不在更新了!...JS参数传递,实现无跳页播放,让大家体现真正的“流畅”。后台目录名随意改。 =================================== 附:HTML FLA PSD 源码 请到 www.qp3db.com/music 下载

    xheditor-1.1.14

    参数:字符串的URL地址,用以解决前后台不在同一路径的资源定位问题 备注:1.1.0新添加 urlType:本地URL地址强制转换方式选择 参数:abs(绝对路径),root(根路径),rel(相对路径) 备注:1.0.0 beta2新添加,v1.1.0版中...

    jQuery.ajax向后台传递数组问题的解决方法

    今天重温了一个问题,jQuery.ajax向后台传递一个数组,而在后台接收不到该值。 前台js方法部分代码如下: //创建一个测试数组 var boxIds = new Array(); boxIds.push(12182); boxIds.push(12183); boxIds.push...

    支付宝接口程序asp源码

    notify_url: 服务器后台通知,这个页面是程序后台运行的(买家和卖家都看不到),买家付完款后,支付宝会调用notify_url这个页面所在的页面并把相应的参数传递到这个页面,这个页面根据支付宝传递过来的参数修改网站订单...

    A标签中通过href和onclick传递的this对象实现思路

    想传递当前对象给一个函数,于是就将这个URL写成”[removed]shoControlSidebar(this)”,可是结果发现这并不可行,传递过去的参数是一个对象,但是却得不到任何其他信息。我想得到的是innerText,而这个this并非指向...

    易语言 茶凉专用模块

    参数 是否后台, 逻辑型, 可空, 默认为假:可见到的颜色点 真:后台窗口内颜色点 .参数 色深, 整数型, 可空, 所截取的图片位深度,默认为16位(8,16,24,32) .子程序 超级延迟, , 公开, 无资源占用的延时(无返回值) .参数...

    j2ee+spring mvc+Mybatis+mysql+easy ui+Jquery主流框架集成后台管理系统

    郑重声明:本文分享系统来自互联网,分享目的在于传递更多信息,帮助大家,并不代表本人赞同其观点和 对其真实性负责。如涉及作品内容、版权和其它问题,请在七日内与本人联系,我将在第一时间删除内容! [声明]本站...

    富头像上传编辑器演示

    v1.7:修复了当加载的原图url中带视图参数(__initParams)时,旋转值未正确初始化的错误; 优化了生成头像的速度。 发布时间:2014-01-03 v1.6:修复了后台只能获取upload_url(上传图片的接口)中首个参数的...

    指点数据M1高端模板+会员中心

    商品链接支持以URL参数传递到价格计算器页面 模板没有多余的冗余附件,全页面适配自适应,且F12不报红色错误,我们认真仔细的去适配了每一个细节。全套模板我们均采用本地附件及元素,不调用任何远程附件,以保证...

    浅谈PHP表单提交(POST&GET&URL编/解码)

    另外,POST方法可以没有限制地传递数据到服务器,所有提交的信息在后台传输,用户在浏览器是看不到这一过程的,安全性高。 POST方法比较适合用于发送一个保密的或者大量的数据到服务器。 GET方法是&lt;form&gt;表单...

    大名鼎鼎SWFUpload- Flash+JS 上传

     ■ 在带有Session验证的网站后台中SWFUpload无法正常工作?  □ 这是因为SWFUpload在上传时相当于重新开辟了一个新的Session进程,因此无法与原有程序的Session保持一致,这就需要在上传时传递原有程序的Session...

    Extjs ajax同步请求时post方式参数发送方式

    一般参数传递通过url后面跟后台也能取到,不过看到send参数也可以发送参数,试验了一下服务器端接受不到发送的参数,在firebug里看到发送的请求post部分是一个串,不太象正常发送的参数。

    ExtAspNet_v2.3.2_dll

    -一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后关闭此弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());...

    html form表单提交action和url跳转到actiond的区别介绍

    form表单的action 与url跳转是不一样的:form表单可以给后台传递数据,url跳转到action只能通过url的参数来传递数据,不懂的朋友可以参考下

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后关闭此弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());...

    asp.net面试题

    答:前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连结. 11.ASP.net的身份验证方式有哪些?分别是什么原理? 答:form认证,windows集成认证等,原理不清楚. 12.进程和线程分别怎么理解? 答...

    Web安全之SQL注入

    SQL注入是指将Web页面的原URL、表单域或数据包输入的参数,修改拼接成SQL语句,传递给Web服务器,进而传给数据库服务器以执行数据库命令。当Web应用程序的开发人员对用户所输入的数据不进行过滤或验证(即存在注入点...

    Vue学习之旅Part9:使用vue-router实现前端路由和参数传递

    一、概念 1、什么是路由 简单来说 路由就是URL到函数的映射 访问的URL会映射到相应的函数里 然后由相应的函数来决定返回给这个URL什么东西 路由进行的是一个匹配的工作 ...对于单页面应用程序来说 通过URL中的hash

Global site tag (gtag.js) - Google Analytics