使用两个js函数encodeURI() 和 encodeURIComponent()
encodeURIComponent() 这个方法是能够把url中符号都编码掉,比如?,/等
encodeURIComponent()主要用作传递返回url.
如果是英文编码成url的编码,需要encodeURI,如果是中文需要encodeURI(encodeURI(link))
因为 带中文url->英文化->真正编码成url
==============主页->内页,传递参数============
//获取返回的url
var backUrl = this.searchUrl();
var link = "analyze.inventory.InventoryStream.d?goodsId="+goodsId+"&specId="+specId+"&startDate="+startDate+"&endDate="+endDate+"&goodsName="+goodsName+"&backUrl="+encodeURIComponent(backUrl);
//dorado.MessageBox.alert(encodeURI(encodeURI(link)));
window.location.href=encodeURI(encodeURI(link));
==================内页,返回按钮=====================
var backUrl = '${request.getParameter("backUrl")}';
backUrl = decodeURIComponent(decodeURIComponent(backUrl));
//dorado.MessageBox.alert("正常的返回rul:"+backUrl);
backUrl="analyze.inventory.InventoryInfo.d"+encodeURI(encodeURI(backUrl));
//dorado.MessageBox.alert("backUrl:"+backUrl);
window.location.href=backUrl;
====================主页,获取参数============================
var catagoryId = '${request.getParameter("catagoryId")}';
var goodsCodeOrName= '${request.getParameter("goodsCodeOrName")}';
if(catagoryId!=null && catagoryId!=''){
dsSearchInventory.getData().set("catagoryId",catagoryId);
hasParam = true;
}
if(goodsCodeOrName!=null && goodsCodeOrName!=''){
//dorado.MessageBox.alert("goodsCodeOrName:"+goodsCodeOrName);
dsSearchInventory.getData().set("goodsCodeOrName",decodeURI(decodeURI(goodsCodeOrName)));
hasParam = true;
}
http://www.javascripter.net/faq/escape.htm
分享到:
相关推荐
### ASP.NET中URL传递中文的解决方案 在ASP.NET开发过程中,经常会遇到通过URL字符串在不同页面之间传递参数的情况。特别是当这些参数包含中文时,容易出现乱码的问题。这类问题通常源于编码方式不匹配,因此解决...
总的来说,处理URL中传递的中文参数时,合理使用`encodeURI`和对应的解码方法,结合理解浏览器和服务器的编码行为,是避免乱码的关键。本文提供的“前端两次encode——后端一次decode”方案,是一种兼容性好且相对...
然而,当我们在GET请求的URL中直接传递包含中文字符的参数时,可能会遇到乱码问题。这是因为不同系统、浏览器和服务器对字符编码的支持不一致,导致在传输过程中中文字符无法正确解析。以下是对这个问题的深入探讨和...
本文将详细介绍两种解决JSP页面URL参数乱码的方法,虽然不能保证100%有效,但它们是实践中常用且有效的解决方案。 **方法一:修改Tomcat配置** 1. 首先,我们需要进入Tomcat服务器的配置目录,通常是`$CATALINA_...
通过以上介绍,我们可以看到使用`window.showModalDialog()`来实现对话框间的参数传递是一个简单而有效的解决方案。然而,由于其已经废弃的事实,在新项目中应该寻找更现代化的方法来替代这一技术。希望本文能够帮助...
在ESB(Enterprise Service Bus,企业服务总线)领域,UltraESB是一个高效且功能强大的开源ESB解决方案。然而,在实际应用中,我们可能会遇到一些技术挑战,比如URL中包含中文参数时,UltraESB可能无法正确解析。这...
在Web应用程序中,我们可能会在URL中传递参数,例如查询字符串。根据HTTP规范,URL中的特殊字符如空格、#、%等需要进行编码,以确保它们能够被正确传输和解析。在JavaScript中,可以使用`encodeURIComponent()`函数...
本文将深入探讨URL编码的原因、原理以及如何解决URL传值乱码的常见问题。 URL(统一资源定位符)是互联网上资源的唯一标识,它包含了协议、主机名、路径和查询参数等部分。由于URL中可能包含非ASCII字符或特殊字符...
在Web开发中,通过URL传递参数是一种常见的场景。例如,在用户点击某个链接或者提交表单之后,我们常常需要从URL中提取出特定的信息来完成后续的操作。JavaScript作为一种浏览器端的脚本语言,提供了强大的功能来...
通过理解这两个技术的工作原理以及它们如何相互交互,开发者可以构建出灵活且强大的报表解决方案。记住,无论是在JSP还是BIRT中,都要关注数据的安全性和用户体验,确保参数传递的过程既有效又可靠。
以下是一些关于这个主题的关键知识点和解决方案。 1. **URL编码**: - 对于中文字符,我们通常使用`urlencode()`函数来编码URL中的参数。这个函数会将非字母数字字符转换为百分比编码(%XX,其中XX是ASCII码的十六...
常用的解决方案包括使用UTF-8编码,并确保前后端编码一致。 ##### 5.3 安全性问题 URL中传递的参数容易被截获,尤其是涉及敏感信息时,应当谨慎处理。可以考虑使用HTTPS加密通信,或者使用POST请求替代GET。 #####...
本文将详细介绍一个适用于URL带有多个参数的分页类,并且允许自定义分页模板的PHP解决方案。 首先,让我们理解标题中的核心概念——"PHP分页类"。一个分页类通常是一个PHP类文件,它封装了分页所需的所有逻辑,包括...
文章提到的问题是在GBK环境下,向URL传递中文参数时遇到了Unicode解码错误。 #### 二、编码差异 - **GBK编码**:通常用于中文环境中,是一种包含简体中文字符的扩展字符集。 - **UTF-8编码**:一种国际化的编码...
- **Stack Overflow**:一个非常活跃的技术问答社区,可以在其中找到许多关于 URL 处理的具体问题和解决方案。 通过上述知识点的学习和理解,你可以更好地掌握如何使用 JavaScript 动态地修改 URL 地址中的查询...
### 利用ASP实现JAVA动态参数的传递:深入解析与实践 #### 引言 ...通过深入理解ASP的功能及其与Java参数传递的机制,开发者能够构建出更加智能、响应迅速的Web服务,满足日益增长的互联网需求。
- **页面链接传递中文参数**:链接URL中的中文参数受浏览器和Tomcat的URIEncoding影响。 - **地址栏直接输入中文提交**:浏览器直接编码URL,Tomcat需对应解码。 6. **编码转换示例**: 当Tomcat的URIEncoding为...
通过理解并利用JavaScript内置的`URLSearchParams`、Node.js的`querystring`模块、第三方库如`query-string`,或是自定义的解决方案,都可以实现轻量级且兼容的URL参数处理。同时,确保代码在不同环境下具有良好的...
本文主要讨论了两个关键问题及其解决方案。 首先,Java中的`URLEncoder`类是一个常见的误区。尽管其名称暗示它用于编码URL,实际上它主要用于HTML表单编码,即将非ASCII字符转换为适合HTTP请求的格式。`URLEncoder....
本文主要探讨了中文乱码的解决方案,特别是在使用Tomcat6.0作为servlet容器,与Firefox3.0和IE6浏览器交互时的情况。 首先,要理解中文乱码的产生,涉及到字符编码的转换和解码过程。通常,字符编码分为两种:页面...