易截截图软件、单文件、免安装、纯绿色、仅160KB

AJAX中文乱码的两类问题解决方法

1)发送路径中的参数有中文,在服务器端接收参数值是乱码
解决方法:
PHP:
服务器端:iconv("UTF-8","gb2312",$_POST[变量名]);
JSP:
客户端:
利用javascript的提供的escape()或encodeURI()方法, 例
var url="a.jsp?name=小李";
url=encodeURI(url);
url=encodeURI(url); //两次,很关键[具体为什么,我也不清楚]
/********************************************/
也有人写成var url="a.jsp?name=escape("小李")";
功能和encodeURI方法类似。
/********************************************/
xmlHTTP.setrequestheader("contentType","text/html;charset=uft-8")//指定发送数据的编码格式
服务器端:java.net.URLDecoder.decode(request.getParameter(变量名), "UTF-8");
2)返回来的responseText或responseXML的值中含有中文是乱码
原因:AJAX在接收responseText或responseXML的值的时候是按照UTF-8的格式来解码的,如果服务器段发送的数据不是UTF-8的格式,那么接收responseText或responseXML的值有可能为乱码。
解决方法:在服务器端指明送出数据的编码流
PHP:header('Content-Type:text/html;charset=GB2312');
ASP:Response.Charset("GB2312")
JSP:response.setHeader("Charset","GB2312");
如果上述方法仍然解决不了乱码问题,那你尝试一下把文件用UTF-8编码格式保存.
总之:前后台数据交互都采用utf-8编码就行了.


相关文档:

php+AJAX传送中文会导致乱码的问题的解决方法

关于在AJAX中GET回的ResponseText中文乱码的最简解决办法
//如果传送参数是直接赋予的,就会产生乱码!
代码如下:
http_request.open("POST",url,true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request.send("action="+strName+"&val="+val); //如果val的 ......

Ajax与IE6缓存问题

今天,有同事发现相关业务数据修改后,在IE6下还是显示修改前的值。但在其他浏览器和IE7、IE8下,没有这个问题。
原因:用ajax请求时,如果出现重复的URL,浏览器不会向服务器发送请求,而是根据之前相同的URL请求结果返回。原因就在于之前的请求及结果已经保存在了
缓存里,如果遇到相同URL时,结果是直接从缓存里取得。 ......

AJAX判断用户名是否被注册

用的标签有ScriptManager,UpdatePanel,UpdateProgress ,主要的是UpdatePanel中的Triggers属性一定要对。
前台代码
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdateP ......

jQuery Ajax缓存问题

在使用jQuery 的Ajax加载数据是 如果使用get方式传递参数则存在一下问题
firefox下传递数据正常
ie下则会出现缓存问题
解决方法:
1、http://yourwebsite?parseInt(Math.random() * 1000) 在url后面加上一个随即数,这样每次发送的就不一样了,而且不影响你的功能.
2、使用post传递参数
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号