AJAX

实际工作中很可能遇到AJAX返回乱码问题下面是我的解决方法,曾经在sun的Solaris解决过AJAX乱码问题
在项目中使用AJAX的时候.
response.setHeader("Charset","UTF-8"); ---请把这一句也添上.保险
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
PrintWriter out = null;
out = response.getWriter();
out.print(xml);  //将XML返回页面.进行处理
out.close();

如果用SSH用AJAX检查的时候,在ACTION中返回null
即可,返回值要用一个prientwriter类的对象
import java.io.prientwriter类
prientwriter out=response.getWrite();
然后返回out.print(里面可以是int,boolean,long型等等);

 

----------------------------------------------------
JS 创建AJAX 以及调用和发送示例


var xmlHttp = null;  //判断浏览器.并创建XMLHTTPREQUEST 对象
function createXMLHttpRequest() {
        if (window.ActiveXObject) {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        } else {
                if (window.XMLHttpRequest) {
                        xmlHttp = new XMLHttpRequest();
                }
        }
}


function getType() {
        var sid = document.getElementById("sid");
        var cid = document.getElementById("cid");
        if (cid.value == "" || cid.value.length < 0) {
                deleteAllOptions(sid);
                addOption(sid, "--choose type--", "0");
                sid.setAttribute("disabled","disabled");
                return false;
        } else {
                var url = "getType.htm?cid=" + cid.value; //请求的连接字符串
                createXMLHttpRequest();//调用创建请求对象函数
                xmlHttp.open("POST", url, true);//进行异步请求  true 表示进行异步处理
                xmlHttp.onreadystatechange = function () { //设置回调函数
                if (xmlHttp.readyState == 4) {
                                if (xmlHttp.status == 200) {
                                        var sids = xmlHttp.responseXML.getElementsByTagName("sid");
                                        var types = xmlHttp.responseXML.getElementsByTagName("type");
                                        if(sids.length > 0){
                                                deleteAllOptions(sid);
                                                addOption(sid, "--choose type--", "0");
                                                for (var i = 0; i < sids.length; i++) {
                                                        addOption(sid, types[i].firstChild.nodeValue, sids[i].firstChild.nodeValue);
                                                }
                                        }
                                }
                        }
                }
                xmlHttp.send(null);   //发送    
        }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值