1.产生乱码原因:表单提交使用的method="get",get方式数据都是通过地址栏传输,数据会以iso-8859-1方式传输,因此产生乱码

2.概念:URI: Uniform ResourceIdentifiers,通用资源标识符,有效的URI中不能包含某些字符,例如空格

3.解决编码和解码的方法:

(1)js中decodeURIComponent() 函数的定义与用法:
定义:decodeURIComponent() 函数编码的URI进行解码[encodeURIComponent() 可以对字符串编码]
语法:decodeURIComponent(uri)
(2)js中encodeURI()函数的定义与用法:
 定义:encodeURI()函数可以把字符串作为URI进行编码,在URI中具有特殊含义的ASCII标点符号,encodeURI()函数是不会进行转义的【decodeURI()可以解码URI】
 语法:encodeURI(uri)

4.方法小结一下:

相同点:

(1)encodeURI(),和encodeURIComponent()是对字符进行编码。

(2)decodeURI(),和decodeURIComponent()是对相应编码过的字符进行解码。

区别:

方法中包含的URI()的编码和解码不会对本身属于URI的特殊字符进行编码,例如冒号等;

方法中包含URICompent()的编码和解码则会对它发现的任何非标准字符进行编码进行编码;

5.Demo

<form id="test"  accept-charset="utf-8" onsubmit="document.charset='utf-8'">
<input type="text" id="name">
<input type="text" id="age">
</form>
通过调用ajax:
$("#test").form("submit",
{
url:encodeURI("/A/Bmethod"+new Date().getTime()),//有时间函数不转义加上encodeURI
onSubmit:function(p){
 p.name=$("#name").val(),
 p.age=$("#name").
}
 },
success:function(data)
{
 data.imageSrc=decodeURIComponent(data.imageurl);//对imageurl进行解密
}
)

最新文章

  1. CentOS7上部署MONO和Jexus
  2. Aforge.net之旅——开篇:从识别验证码开始
  3. ADF_Data Binding系列2_使用URL Service Data Control
  4. 神舟K650c i7(W350STQ)上成功装好Mac OS X 10.9,兼谈如何安装WinXP、7、8.1、OSX、Ubuntu五系统(Chameleon、MBR)
  5. UVA 11374 Halum (差分约束系统,最短路)
  6. linux kickstart 自动安装
  7. ormlite 删除操作
  8. QtWebKit/QtWebEngine移植差异(网摘)
  9. spark按某几列删除dataframe重复行
  10. (译)MySQL的10个基本性能技巧
  11. mybatis相关知识
  12. BZOJ2212 POI2011Tree Rotations(线段树合并)
  13. 本地ssh key连接多个git账号
  14. C语言---变量与函数
  15. MAC使用mysql报错:ERROR 1045 (28000): Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: YES)
  16. ProDinner
  17. require.js 最佳实践【转】
  18. [svc]centos6使用chkconfig治理服务和其原理
  19. [译]OpenGL像素缓冲区对象
  20. Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A

热门文章

  1. osg define shape(create box)
  2. SortedMap和TreeMap有什么区别?
  3. 如何禁用maven下载进度指示?
  4. Ubuntu LVS DR模式生产环境部署
  5. CEIWEI USBMonitor监控驱动 OCX/SDK USB 监控精灵 USB过滤驱动
  6. Echarts 图表的本地配置
  7. 微信jsapi开发应用实例并记录下错误信息
  8. C#使用KingAOP实现AOP面向切面编程二
  9. ThinkPHP如何在控制器中调用命令
  10. React native 禁止手势触摸 pointerEvents