`
fengyong0912
  • 浏览: 106970 次
  • 性别: 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后的数据,如汉字,可以直接通过转换编码类型获得正确内容。

分享到:
评论

相关推荐

    url 传递参数加密问题

    URL参数加密主要用于保护通过URL传递的数据不被轻易截取和篡改。在实际应用中,很多场景下都需要通过URL传递一些敏感信息,如用户登录信息、订单详情等。如果不进行加密处理,这些信息在传输过程中容易被第三方截获...

    url参数中传递特殊字符处理方法

    例如,如果在传递页面使用 GB2312,而在接收页面使用 UTF8,这样接收到的参数就可能会与原来发生不一致。 Java 中提供了三种编码方法:escape、encodeURI 和 encodeURIComponent。它们都可以用于对字符串进行编码,...

    springmvc3+json参数传递后台接收json参数

    "springmvc3+json参数传递后台接收json参数"这个主题涉及到的是如何使用Spring MVC 3版本接收前端通过JSON格式发送的数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,...

    JS调用后台带参数的方法

    根据给定的信息,本文将详细解释“JS调用后台带参数的方法”。这涉及到前端JavaScript与后端服务之间的交互,特别是如何在发送请求时携带参数。 ### JS调用后台带参数的基本概念 在Web开发中,前端(通常是...

    extjs 前后台交互参数出现中文乱码问题的解决方法

    在使用MyEclipse开发工具进行Web应用开发时,尤其是采用ExtJS框架结合Ajax技术进行前后端数据交互的过程中,可能会遇到一个常见的问题:即通过Ajax发送带有中文字符的数据时,后端接收到的数据出现乱码现象。...

    url传递的参数值中包含&时,url自动截断问题的解决方法

    总结起来,当遇到URL传递的参数值中包含“&”导致的自动截断问题时,解决方案是先对“&”进行URL编码,将其转换为 `%26`。这适用于各种编程语言,包括但不限于Java和JavaScript。正确地处理URL编码不仅可以解决这个...

    url传值JS调用所传的值,实例

    在Web开发中,经常需要通过URL来传递参数,并在页面加载完成后利用JavaScript对这些参数进行读取和处理。下面将详细介绍如何通过一个具体的示例来实现这一功能。 #### 示例代码分析 首先,我们来看一下给出的示例...

    html+jquery通过传递json访问后台控制层

    这篇博客文章“html+jquery通过传递json访问后台控制层”探讨了如何使用这些技术来实现客户端与服务器端的交互。我们将深入理解这个主题,了解如何利用HTML构建用户界面,jQuery进行DOM操作和Ajax请求,以及JSON作为...

    解决ajax传过来的值后台接收不到的问题

    在本文中,我们将深入探讨一个常见的前端与后端交互问题,即“解决ajax传过来的值后台接收不到的问题”。这个问题通常发生在使用JavaScript的Ajax技术向服务器发送数据时,后端无法正确获取到传递的参数。以下是一些...

    jsp中利用jquery+ajax在前后台之间传递json格式参数

    在本文中,我们将深入探讨如何在JavaServer Pages (JSP) 中...6. 当不需要传递参数时,可以不设置data或使用data: {}。 通过这些步骤,开发者可以有效地在JSP中实现前后台之间的JSON数据交互,提高Web应用的用户体验。

    后台与页面之间的传值以及页面与页面之间的传值

    1. URL参数:通过在URL中添加查询参数,可以从一个页面跳转到另一个页面并传递数据,但不适用于敏感信息,因为数据可见且易被篡改。 2. HTML表单:使用POST或GET方法提交表单,数据会被发送到服务器,服务器处理后...

    Spring MVC不能直接接收list类型参数的问题

    当前端使用 jQuery 向后台传递数组类型的参数时,Java 后台尝试直接通过 `List` 类型来接收这些参数,却发现无法取到任何数据。例如: **前端代码示例**: ```javascript $.ajax({ url: "xxxx", data: { areaList...

    完美解决js传递参数中加号和&号自动改变的方法

    在JavaScript中,当我们使用GET方法传递参数时,...根据具体的应用场景和需求,可以选择适合的解决方案,确保参数能够准确无误地传递到服务器。在实际开发中,还要注意编码与解码的一致性,以保证数据完整性和兼容性。

    java后台调试URL

    在Java后台开发中,调试URL是一项重要的工作,它涉及到如何通过HTTP请求与服务器进行交互,获取或发送数据。从给出的示例中,我们可以提取出以下几个关键知识点: 1. **URL结构**: - URL(统一资源定位符)是访问...

    jquery ajax 向后台传递数组参数示例

    特别是,当需要传递数组参数时,如果数组中包含对象类型的数据,直接传递可能会遇到问题,如在后台接收到的仅是"[object Object]"这样的字符串。本文将详细解释这种情况的原因,并提供相应的解决方法。 首先,我们...

    微信小程序页面的生命周期和参数传递

    1. `query`参数:通过跳转页面时携带`query`对象,可以在目标页面的`onLoad`中获取这些参数,如`wx.navigateTo({ url: '/pages/detail/detail?itemID=123' })`。 2. `globalData`:全局数据对象,可以在App.js中定义...

    js传参数到后台读取数据再传到前台的例子

    这个例子展示了如何通过Ajax通信从JavaScript向后台传递参数,从数据库获取数据,并将数据以字符串形式返回到前端。在实际应用中,你需要根据项目需求调整代码,例如处理错误、优化性能、使用更安全的数据库查询方法...

    微信小程序request请求后台接收不到参数问题

    微信小程序request请求后台接收不到参数问题一. 小程序部分代码二. 后端三. 问题代码四. 请求头 一. 小程序部分代码 发一个普通的request请求 wx.request({ url: app.globalData.server_prefix + '/api/v1.0/...

    前台ajax与后台json传递

    "前台Ajax与后台Json传递"这个主题就是关注如何高效地实现这一交互过程。Ajax(Asynchronous JavaScript and XML)技术允许我们在不刷新整个页面的情况下,实现局部数据的更新,而Json(JavaScript Object Notation...

Global site tag (gtag.js) - Google Analytics