首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

一个简单的AJAX有关问题,主要是在IE上无效,但在FF和CHROME上有效

2013-03-19 
一个简单的AJAX问题,主要是在IE下无效,但在FF和CHROME下有效上代码:function checkin(strvalue){var handl

一个简单的AJAX问题,主要是在IE下无效,但在FF和CHROME下有效
上代码:


function checkin(strvalue){
var handler=create_ajax();
url="select.php?search="+strvalue;//select.php就是一句代码echo "ok";
handler.open("get",url,true);
handler.onreadystatechange=function(){
if(handler.status==200){//在IE下总说这一行有未指明的错误,不懂什么意思
if(handler.readyState==4){
if(handler.responseText){
var rs=[1,2,3,4,5,6];
var obj=document.getElementsByName("sel");
for(var n=0;n<6;n++){
obj[n].innerHTML=rs[n];
}
}
}
}
}
handler.send(null);
}
function create_ajax(){
var request=null;
try{
request=new XMLHttpRequest();
if(request.overrideMiMeType){
request.overrideMiMeType("text/xml");
}
}catch(e){
try{
request=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
request=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return request;
}



在FF和CHROME下,出发checkin()函数后,6个NAME为SEL的DIV都赋上值了,但是唯独IE下面不行,不知道是哪里出问题了。
如果以上代码还看不出问题,我可以继续贴其它代码。希望能帮我解决一下,谢谢。
[解决办法]
    function checkin(strvalue) {
        var handler = create_ajax();
        url = "select.php?search=" + strvalue; //select.php就是一句代码echo "ok";
        handler.open("get", url, true);
        handler.onreadystatechange = function () {
            //if (handler.status == 200) {//在IE下总说这一行有未指明的错误,不懂什么意思,IE获取status要在状态为4之后,要不就报错了
            if (handler.readyState == 4) {
                if (handler.status == 200) {///放这里来
                    if (handler.responseText) {
                        var rs = [1, 2, 3, 4, 5, 6];
                        var obj = document.getElementsByName("sel");
                        for (var n = 0; n < 6; n++) {
                            obj[n].innerHTML = rs[n];
                        }
                    }
                }
            }
            //}
        }


        handler.send(null);
    }
    function create_ajax() {
        var request = null;
        try {
            request = new XMLHttpRequest();
            /*if (request.overrideMiMeType) {
                request.overrideMiMeType("text/xml");
            }*/
            if (request.overrideMimeType) {//用错了方法,没区分大小写
                request.overrideMimeType("text/xml");
            }
        } catch (e) {
            try {
                request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                request = new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
        return request;
    }


[解决办法]
版主出马,一个顶俩一个简单的AJAX有关问题,主要是在IE上无效,但在FF和CHROME上有效

引用:

[解决办法]
LZ试试把JS写到body后面

热点排行