`
qindongliang1922
  • 浏览: 2182347 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117470
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125858
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59865
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71254
社区版块
存档分类
最新评论

Ajax传参之url中特殊字符的处理之血站八方

    博客分类:
  • JAVA
阅读更多
笔者,先贴出这个错误在Java后台中所报出的异常


八月 01, 2013 5:08:46 下午 org.apache.tomcat.util.http.Parameters processParameters
信息: Character decoding failed. Parameter [entityDoc.abstrat] with value [my name is 7is%207%%20and%206%7] has been ignored. Note that the name and value quoted here may be corrupted due to the failed decoding. Use debug level logging to see the original, non-corrupted values.
org.apache.tomcat.util.buf.UDecoder$DecodeException: isHexDigit



为什么会报这个异常,是因为笔者,在前台的Ajax的参数里面使用了一些url不转码的特殊字符%,因为事先没有做过处理,所以传到后台的时就变成了,前台传入
my name is 7% and 6%7


异常中显示
[my name is 7is%207%%20and%206%7]

注意,笔者先对其中的八个比较特殊不编码的字符列出
url特殊符号在url中实际含义转码后的十六进制表示
++号表示空格%2B
空格用+号或者编码%20
/分隔目录和子目录%2F
?分隔实际的 URL 和参数%3F
%指定特殊字符%25
#表示书签%23
&参数间的分隔符%
=URL 中指定参数的值%3D


在此,对URL的编码详细的总结一下


知道问题的原因后,解决起来就有思路了!可以使用2种方法,第一种使用正则把%号,替换成%25,手动指定一个特殊符号转码

var t= title.replace(/%/g,"%25");//g代表全局匹配替换

第二种方法,比较通用直接使用JavaScript提供的2次编码方案进行转码可以替换掉所有的的不能转码的特殊符号
   
                title=  encodeURI(title);
                title=  enc odeURI(title);
    



至此,完美解决url中的特殊符号的问题!

  • 大小: 37.7 KB
1
1
分享到:
评论

相关推荐

    在Extjs中使用ajax传参到php中

    EXTJS中的`Ext.Ajax`类提供了异步发送Ajax请求的能力,它封装了原生的XMLHttpRequest对象,简化了API接口,允许我们更便捷地处理JSON、XML等数据格式。 2. **使用方法**: 要发送一个Ajax请求,你可以创建一个`...

    jQuery 实现ajax传入参数含有特殊字符的方法总结

    总之,在使用jQuery进行Ajax请求时,正确处理特殊字符是保证数据正确传输的关键。不论选择何种方式传递参数,都应当注意字符编码的问题,并确保服务器端能够正确解码。这样,我们才能有效地解决含有特殊字符参数传递...

    Ajax传参是乱码解决方案

    在发送Ajax请求时,可以使用JavaScript内置的`encodeURI`或`encodeURIComponent`函数对数据进行编码,以确保数据在传输过程中不会因为特殊字符而出现乱码。 ```javascript var ckName = "张三"; var data = "ckName...

    如何在Thymeleaf中实现ajax请求url的可靠构造

    Thymeleaf支持表达式语言(EL),可以获取模型属性并将其插入到URL中。例如,如果需要根据用户ID获取数据,可以这样做: ```html var userId = /*[[${userId}]]*/ 123; // 假设userId是模型属性 $.ajax({ url: ...

    ajax jsonp跨域传参

    ajax jsonp跨域传参,里面有源码,不过写在txt中了,很适合调用别人的接口

    ajax中data传参的两种方式分析

    本篇文章将详细探讨AJAX中`data`传参的两种主要方式:POST和GET。 1. **POST方式**: POST方式通常用于向服务器提交大量数据或敏感信息,因为POST请求的数据会被包含在请求体中,而不是像GET方式那样显示在URL上。...

    ajax传送参数含有特殊字符的快速解决方法

    JQuery AJAX中遇到这样一个问题,参数中包含特殊字符,比如&’#@等, 这时执行AJAX的时候就会出问题,因为所传的参数变了.看个示例就明白: 方案一: $.ajax({ url: '/ashx/ajax.ashx', type: 'post', data: 'option...

    ajax快速解决参数过长无法提交成功的问题

    在ajax中使用post方法,用常规的参数格式:param1=a1&param2=a2 ,当参数长度过长时,依然提交不成功。比如我们经常这样写一个ajax的post请求: $.ajax({ type: "post", // post or get contentType:"application...

    jquery的get()方法ajax传值php实例

    在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互。本实例将深入探讨如何使用jQuery的`get()`方法进行Ajax请求,将数据传递到PHP服务器,并接收JSON格式的响应。让我们...

    jQuery Validator验证Ajax提交表单的方法和Ajax传参的方法

    在 Ajax 传参方面,jQuery 提供了 `.serialize()` 方法,它可以将表单中的所有元素(包括选中的选项、输入值等)转换为一个 URL 编码的字符串,适合于作为 Ajax 请求的 `data` 参数。例如: ```javascript var ...

    lotus domino AJAX 转义ls 特殊符号

    例如,在处理字符串时,可以使用下面的代码来实现特殊符号的转义: ```lotusscript Function zhuanyi(key As String) As String Dim temp As String Dim m As Long Dim i As Integer For i = 1 To Len(key) m ...

    处理ajax返回带有换行的json数据

    在处理Ajax返回的JSON(JavaScript Object Notation)数据时,可能会遇到一些问题,尤其是当JSON数据中包含换行符时。本文将深入探讨这个问题,以及如何正确地处理这种情况。 首先,JSON是一种轻量级的数据交换格式...

    JFINAL+Ajax传参 array 数组方法 获取request中数组操作

    主要介绍了JFINAL+Ajax传参 array 数组方法 获取request中数组操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    lotus domino AJAX js获取url中的中文参数的方法

    lotus domino AJAX js获取url中的中文参数的方法

    Ajax传递特殊字符的数据如何解决

    正确处理特殊字符,不仅可以提高数据传输的准确性,还能避免因字符解析错误而引起的潜在安全风险。在开发实践中,应当尽可能地对发送到服务器的数据进行适当的编码和验证,以确保数据的完整性和安全性。

    lotus domino AJAX get通过URL传数据

    在`Initialize`子例程中,我们首先获取当前会话和文档上下文,然后通过`GetParameter`函数解析URL中的`username`和`id`参数。最后,我们设置响应的`Content-Type`为`text/plain;charset=UTF-8`,确保返回的内容以UTF...

    AJAX ,无刷新传参

    AJAX 调用: <script type="text/javascript" language="javascript" src="<html:rewrite page='/common_local/js/http_submit.js'/>"></script><!--必要--> ...

    Ajax中文乱码问题解决方案

    然而,在处理中文字符时,Ajax请求可能会遇到乱码问题,这主要是由于编码格式不一致或者处理不当导致的。本文将深入探讨Ajax中文乱码问题的成因,并提供一系列解决方案。 **一、问题原因** 1. **编码格式不一致**...

Global site tag (gtag.js) - Google Analytics