以前没怎么仔细的研究过ajax,只是用到了就直接拿过来用,发现了问题再找解决方法.以下是我在找解决问题的过程中的一点小小的总结. 一.谈Ajax的Get和Post的区别 Get方式: Post方式:
总之,GET方式传送数据量小,处理效率高,安全性低,会被缓存,而POST反之。
使用get方式需要注意: (content)+"&id=1" ;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); abc&sex=man&age=18以及var name=?abc&sex=man&age=18的写法都是错误的; 4.服务器端请求参数区分Get与Post。如果是get方式则$username = $_GET["username"]; 如果是post方式,则$username = $_POST["username"];
Post和Get 方法有如下区别: get 方法用Request.QueryString["strName"]接收 注意:
AJAX乱码问题 产生乱码的原因: gb2312:header('Content-Type:text/html;charset=GB2312'); utf8:header('Content-Type:text/html;charset=utf-8'); 注意:如果你已经按上面的方法做了,还是返回乱码的话,检查你的方式是否为get,对于get请求(或凡涉及到url传递参数的),被传递的参数都要先经encodeURIComponent方法处理.如果没有用encodeURIComponent处理的话,也会产生乱码. 1. 在web.config里面增加<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN"/> 2. 在后台代码里面对乱码进行decoder操作 上面两种都不是好的方案,第一个可能会导致其他的页面出现问题, 第二个虽然存到数据库中的是正确的,但是,用户看到的仍然是乱码,严重影响用户体验。那么,最好的解决方法在哪里? 解决思路:我们可以通过对web.config文件增加 <location> 配置节来对特定文件或者目录进行encoding配置 ,如下: <location path="此处为目录或文件名"> <system.web> <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN"/> </system.web> </location> |
asp.net ajax中文乱码的解决?2010-01-19 12:06
asp.net ajax中文乱码的解决?
2010-01-19 12:06