使用Ajax传送数据时,当数据中存在加号(+)、连接符(&)或者百分号(%)时,服务器端接收数据时会丢失数据。分析Ajax传送数据的格式与Javascript的语法:
1. "+"号:JavaScript解析为字符串连接符,所以服务器端接收数据时"+"会丢失变空格。
2. "&"号:JavaScript解析为变量连接符,所以服务器端接收数据时&符号以后的数据都会丢失变空格。
解决方法是通过正则表达式进行编码替换(假设postStr是你想通过ajax传送的数据字符串)
Js代码
postStr = postStr.replace(/%/g, "%25");
postStr = postStr.replace(/\&/g, "%26");
postStr = postStr.replace(/\+/g, "%2B");
附上编码表:
backspace | 8% | A | 41% | a | 61% | § | %A7 | Õ | %D5 | |
tab | 9% | B | 42% | b | 62% | « | %AB | Ö | %D6 | |
linefeed | %0A | C | 43% | c | 63% | ¬ | %AC | Ø | %D8 | |
creturn | %0D | D | 44% | d | 64% | ¯ | %AD | Ù | %D9 | |
space | 20% | E | 45% | e | 65% | º | %B0 | Ú | %DA | |
! | 21% | F | 46% | f | 66% | ± | %B1 | Û | %DB | |
" | 22% | G | 47% | g | 67% | ª | %B2 | Ü | %DC | |
# | 23% | H | 48% | h | 68% | , | %B4 | Ý | %DD | |
$ | 24% | I | 49% | i | 69% | µ | %B5 | Þ | %DE | |
% | 25% | J | %4A | j | %6A | » | %BB | ß | %DF | |
& | 26% | K | %4B | k | %6B | ¼ | %BC | à | %E0 | |
' | 27% | L | %4C | l | %6C | ½ | %BD | á | %E1 | |
( | 28% | M | %4D | m | %6D | ¿ | %BF | â | %E2 | |
) | 29% | N | %4E | n | %6E | À | %C0 | ã | %E3 | |
* | %2A | O | %4F | o | %6F | Á | %C1 | ä | %E4 | |
+ | %2B | P | 50% | p | 70% | Â | %C2 | å | %E5 | |
, | %2C | Q | 51% | q | 71% | Ã | %C3 | æ | %E6 | |
- | %2D | R | 52% | r | 72% | Ä | %C4 | ç | %E7 | |
. | %2E | S | 53% | s | 73% | Å | %C5 | è | %E8 | |
/ | %2F | T | 54% | t | 74% | Æ | %C6 | é | %E9 | |
0 | 30% | U | 55% | u | 75% | Ç | %C7 | ê | %EA | |
1 | 31% | V | 56% | v | 76% | È | %C8 | ë | %EB | |
2 | 32% | W | 57% | w | 77% | É | %C9 | ì | %EC | |
3 | 33% | X | 58% | x | 78% | Ê | %CA | í | %ED | |
4 | 34% | Y | 59% | y | 79% | Ë | %CB | î | %EE | |
5 | 35% | Z | %5A | z | %7A | Ì | %CC | ï | %EF | |
6 | 36% | ð | %F0 | |||||||
7 | 37% | ? | %3F | { | %7B | Í | %CD | ñ | %F1 | |
8 | 38% | @ | 40% | | | %7C | Î | %CE | ò | %F2 | |
9 | 39% | [ | %5B | } | %7D | Ï | %CF | ó | %F3 | |
: | %3A | \ | %5C | ~ | %7E | Ð | %D0 | ô | %F4 | |
; | %3B | ] | %5D | ¢ | %A2 | Ñ | %D1 | õ | %F5 | |
< | %3C | ^ | %5E | £ | %A3 | Ò | %D2 | ö | %F6 | |
= | %3D | _ | %5F | ¥ | %A5 | Ó | %D3 | ÷ | %F7 | |
> | %3E | ` | 60% | | | %A6 | Ô | %D4 | ø | %F8 | |
ù | %F9 |
相关推荐
Ajax传值到Jsp中 传值到Servlet中 传值到Java方法中
AJAX传值与评论实例,含数据库源代码,打开直接可以运行,
通过Jquery实现Ajax传值,视图在向控制器传值时候 ,用表单不方便 时候 变可以使用Ajax 向数据库传值 代码思想 为MVC 思想
AJAX传值,由于自己最近在开发一个项目,需要在动态控件的事件中,运用JS技术实现增改查删功能,由于删除功能我不想另外建立页面,所以就一直有问题。学习视频,查看各种资料,终于弄明白了是怎么回事,真心不容易 ...
这是一个asp.net的程序,实现了用ajax在本页面传值给后台
cakphp关于ajax传值的方法,以及中文乱码,路径不正确等
jsp实现checkbox的ajax传值实例.docx
jquery的get()方法ajax传值php实例,由HTM文件AJAX服务器PHP文件,返回JSON数据并读取。写的简单实例。
jquery ajax 传值给Servlet,在Servlet里Get接受参数乱码,怎么解决呢?下面小编给大家带来了jquery ajax传值到Servlet出现乱码问题的解决方法,一起看看吧
遇到一个问题需要用原生ajax传值
用ajax把前台的值传到后台servlet处理 处理完成后反馈回前台并且显示 http://blog.csdn.net/qq_22778717/article/details/52683121
简单的ajax(post)传值,供新手研究
只要使用ajax方式实现网页里的支付宝支付功能,使用语言为.net 与C# 通用
还挺好,是我总结的ajax例子,关于ajax与servlet之间值的传递,以及servlet与数据库之间的连接,数据解析,等等!
解决ajax乱码和页面传值问题,很深入啊
jquery ajax 异步传值并把值赋予在div标签内 很简单的jquery ajax异步传值 让您清楚了解jquery ajax运作 点击按钮的时候 程序会通过ajax去获取某个PHP文件的输出值 获取PHP文件的输出值的那一刻下面的程序会继续执行...
ajax与Servlet,传值Demo,包含ajax传值乱码转换
ajax请求传值Struts2(版本2.3.24.1)+jsp
Ajax传值特别好用!挺不错的值得 查看源码!加油!
主要介绍了jsp实现checkbox的ajax传值,实例分析了针对checkbox的Ajax使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下