zoukankan      html  css  js  c++  java
  • 创建不了XMLHTTP控件

    最近在用ajax开发服务器程序,发现IE浏览器不支持xmlhttprequest对象,而且找不到Microsoft.XMLHTTP控件。

    问题出现了我们需要解决,解决方案如下:

    1、运行下regsvr32 msxml3.dll;
    2、用现成的框架来做ajax;
    3、代码优化:

    if(window.ActiveXObject)
        {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else if(window.XMLHttpRequest)
        {
            xmlHttp = new XMLHttpRequest();
        }

        if(handle_s == null)
            handle_s = "bin/normal.py/db";
        this.xmlHttp.onreadystatechange = handle_l;
        this.xmlHttp.open("GET",handle_s,true);
        this.xmlHttp.send(null);

    或判断浏览器

    var agt = navigator.userAgent.toLowerCase();
    var is_ie = (agt.indexOf("msie") != -1);
    var is_ie5 = (agt.indexOf("msie 5") != -1);
    var is_opera = (agt.indexOf("opera") != -1);
    var is_mac = (agt.indexOf("mac") != -1);
    var is_gecko = (agt.indexOf("gecko") != -1);
    var is_safari = (agt.indexOf("safari") != -1);

    function CreateXmlHttpReq(handler) {

    var xmlhttp = null;
    if (is_ie) {
    // Guaranteed to be ie5 or ie6
    var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";

    try {
    xmlhttp = new ActiveXObject(control);
    xmlhttp.onreadystatechange = handler;
    } catch (ex) {
    // TODO: better help message
    alert("You need to enable active scripting and activeX controls");
    }

    } else {

    // Mozilla
    xmlhttp = new XMLHttpRequest();
    xmlhttp.onload = handler;
    xmlhttp.onerror = handler;

    }

    return xmlhttp;
    }

    或者

    <script language="javascript">
        var http_request = false;
        function send_request(url) {//初始化、指定处理函数、发送请求的函数
            http_request = false;
            //开始初始化XMLHttpRequest对象
            if(window.XMLHttpRequest) { //Mozilla 浏览器
                http_request = new XMLHttpRequest();
                if (http_request.overrideMimeType) {//设置MiME类别
                    http_request.overrideMimeType('text/xml');
                }
            }
            else if (window.ActiveXObject) { // IE浏览器
                try {
                    http_request = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
                }
            }
            if (!http_request) { // 异常,创建对象实例失败
                window.alert("不能创建XMLHttpRequest对象实例.");
                return false;
            }
            http_request.onreadystatechange = processRequest;
            // 确定发送请求的方式和URL以及是否同步执行下段代码
            http_request.open("GET", url, true);
            http_request.send(null);
        }
        // 处理返回信息的函数
        function processRequest() {
            if (http_request.readyState == 4) { // 判断对象状态
                if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
                    var returnObj = http_request.responseXML;
                    var xmlobj = http_request.responseXML;
                    var employees = xmlobj.getElementsByTagName("employee");
                    var feedbackStr = "";
                    for(var i=0;i<employees.length;i++) { // 循环读取employees.xml的内容
                        var employee = employees[i];
                        feedbackStr += "员工:" + employee.getAttribute("name");//取得标签指定属性
                        feedbackStr += " 职位:" + employee.getElementsByTagName("job")[0].firstChild.data;//取得指定标签的最初数据
                        feedbackStr += " 工资:" + employee.getElementsByTagName("salary")[0].firstChild.data;
                        feedbackStr +=  "\r\n";
                    }
                    alert(feedbackStr);
                } else { //页面不正常
                    alert("您所请求的页面有异常。");
                }
            }
        }
    </script>
  • 相关阅读:
    字节输入输出流
    数据库安全性
    数据库设计:三种范式
    (Java篇) 代理服务:Nginx ---》(1)介绍及安装
    (十七)微信小程序:全局优化
    (十六)微信小程序:电影详情页
    (十五)微信小程序:优化电影页面
    (十四)微信小程序:上拉加载 下拉刷新
    (十三)微信小程序:更多电影页面
    管理:会议纲要
  • 原文地址:https://www.cnblogs.com/skylaugh/p/566164.html
Copyright © 2011-2022 走看看