Ajax编码和Ajax乱码解决
AJAX乱码解决
用过AJAX的朋友肯定知道javascript是使用UTF-8国际编码,即每个汉字用4个字节来存储,但是这就造成了用AJAX来send数据的时候出现乱码。
Ajax乱码产生主要有2个原因
1. xtmlhttp 返回的数据默认的字符编码是utf-8,如果前台页面是gb2312或者其它编码数据就会产生乱码
2. post方法提交数据默认的字符编码是utf-8,如果后台是gb2312或其他编码数据就会产生乱码
一、使用encodeURIComponent加上修改 Content-Type 为 application/x-www-form-urlencoded" 来把数据统一编码成 url 格式,但是这样做有一个弊端,就是太大的数据往往会出错。
二、是通过vbscript 的写的函数把数据转成gb2312格式的,我个人觉得这种方法比较好。有兴趣的朋友可以到网上去查一下。
三、客户端、服务器端全部采用Utf-8编码,且url发送中文字采用escape编码,unescape解码。而且效率高,而且符合目前的形式,utf-8编码本身就是一种比较优秀的编码。
今天突发奇想,AJAX调用的时候会不会发送cookie 呢?马上写了一个程序测试一下,果然能,这样就可以在调用ajax之前,先把数据通过javascript写到cookie里,然后再send就可以将cookie里的数据发送出去了,太爽了!!
客户端代码 ajax.htm
<title>AJAX使用cookie传值例子</title>
<script>
var oDiv
var xh
function getXML()
{
setcookie($('name').value,$('val').value);
oDiv = document.all.m
oDiv.innerHTML = "正在装载,请稍侯……."
oDiv.style.display= ""
xh = new ActiveXObject("Microsoft.XMLHTTP")
xh.onreadystatechange = getReady
xh.open("POST","a.php",false)
xh.send();
}
function getReady()
{
if(xh.readyState==4)
{
if(xh.status==200)
{
&n
相关文档:
传智播客java培训2010年4月10日ajax增强总结1
今天的课,我只能用惊讶来实现,因为虽然以前我自己做开发的时候也会经常用到javascript来做一些东西,并且也能实现所要需要的功能做,我没有想到的是,其中用到的一些功能居然可以用很简单的语言就能实现,不愧是多年总结下来的经验!我在想如果我仍旧在原先的岗位上继续做 ......
1.记住下面三句话:
<1>异步应用程序是用JavaScriptt对象作出请求,而不是提交表单
<2>请求与响应是由Web浏览器处理,而不是直接由JavaScript代码处理
<3>一旦Web浏览器得到异步请求的响应,它会以服务器的响应“回头调用”JavaScript代码(这 ......
var file = filefromPath(encodeURI(encodeURI(this._input.value)));//黄羽修改 2010年4月8日 //修改后
不好意思那天没有在IE测试
  ......
<html>
<head>
<title>jQuery Ajax 实例演示</title>
</head>
<script language="javascript" src="../lib/jquery.js"></script>
<script language="javascript">
$(document).ready(function ()
{
$('#send_ajax').click(function (){
  ......
JS文件
//以下为jquery代码
$(document).ready(function(){
$("#jqbtn").click(function(){
  ......