`
lijiehua
  • 浏览: 31618 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

封装XMLHTTP类

阅读更多


function JXMLHttp() {
}

JXMLHttp.prototype.instance = null;
JXMLHttp.prototype.context = null;

JXMLHttp.prototype.newInstance = function() {  //创建XMLHTTP对象
   if(this.instance == null) {    
     try {
       return new ActiveXObject("Msxml2.XMLHTTP");
        
     }catch{
      try
      {
        return new ActiveXObject("Microsoft.XMLHTTP");
      }catch{
      }
     }
   }
   return null;
  }
  return this.instance;
}

JXMLHttp.prototype.stop = function() { //停止XMLHTTP运行
  if(this.instance != null) {
   this.instance.abort();
  }
}

JXMLHttp.prototype.request = function(url, data, callback, context) {
  this.instance = this.newInstance();
  if(this.instance != null) {
    var async = typeof(callback) == "function";
    if(async) {
      this.instance.onreadystatechange = function() {
        if(this.instance.readyState == 4) {
          callback( this.response()); 
        } 
      }
    }
    
    this.instance.open('POST', url, async);
    this.instance.send(data);
    
    if(!async) {
      return this.response(); 
    }
  }
}

JXMLHttp.prototype.anylseResult = function() {  // 分析并返回服务器传给客户端数据
  if( (this.instance.responseXML != null) && !(this.instance.responseXML.xml.toString().isNullOrEmpty()) )
    return this.instance.responseXML;
  
  var returnVal = null;
  eval("returnVal=" + this.instance.responseText + ";" );
  return returnVal;
}

JXMLHttp.prototype.response = function() {  //
  if(this.instance != null) {
    var error = "";
    var retValue = "";
    if(this.instance.status == 200) {
      try
      {
        return this.anylseResult();
      }catch
      {
      } 
    } 
  }
  return "";
}

分享到:
评论

相关推荐

    XMLHTTP类模块.rar

    8. **源码分析**:分析易语言XMLHTTP类模块的源码可以帮助我们理解它是如何封装和调用底层HTTP通信接口的,以及如何处理异步请求和响应的。 9. **实际应用**:这种类模块常用于Web应用的实时数据更新,如股票报价、...

    XMLHTTP类模块源码

    XMLHTTP类模块是用于在易语言环境中实现异步HTTP请求的一种工具,它是基于Microsoft的XMLHttpRequest对象进行封装的。在易语言中,这个模块提供了一种简单的方式来发送HTTP请求,如GET、POST等,以便从远程服务器...

    易语言源码易语言XMLHTTP类模块源码.rar

    在易语言中,可以通过调用Windows API或封装的易语言模块来使用XMLHTTP类,实现网页数据的抓取、Web服务的调用等功能。 首先,我们需要了解XMLHTTP的基本使用方法。在易语言中,可以创建XMLHTTP对象,然后设置其...

    vb6源码:好用Xmlhttp封装.rar

    1. **uXMLHTTP.ctl**:这可能是一个自定义控件文件,包含了封装XMLHTTP请求的自定义对象或类,便于在VB6环境中使用。 2. **工程1.exe**:这是编译后的可执行文件,表示VB6程序已经成功编译为可直接运行的应用程序。 ...

    自己写的一个完整的ajax xmlHttp请求类的封装

    一个完整的ajax xmlHttp请求类的封装,兼容多种浏览器,包括了对返回数据的处理。

    vb6用的xmlhttp模块,get和post方式提交数据,异步获取,不卡死,十分好用

    在VB6中,可以创建一个类模块来封装XMLHTTP的使用,便于管理和复用。 描述中提到的"能有效地解决xmlhttp组件卡死问题",这通常是因为在VB6中直接使用XMLHTTP组件时,如果请求处理时间过长,可能导致UI线程被阻塞,...

    易语言XMLHTTP类模块源码-易语言

    XMLHTTP类模块的源码分析可以帮助我们理解其内部实现,包括如何封装HTTP请求,如何处理异步回调,以及如何解析和返回数据。这对于深入学习易语言的网络编程和定制自己的网络组件非常有帮助。 总的来说,易语言...

    Asp.net XMLHTTP封装类(GET,Post发送和接收数据)

    代码如下:/**************************************************************** * 函数名称:SendCommand(SendMethod method, ST_Param p) * 功能说明:向远程发送URL和参数,接受返回信息(无乱码);...

    在VC中使用XMLHTTP

    其中`_com_error`类提供了对COM错误的封装,可以通过`e.Description()`获取错误描述信息。 #### 六、代码示例分析 提供的代码示例中存在一些问题,比如: 1. **初始化**:缺少了对COM库的初始化。 2. **异常处理*...

    自己封装的Ajax类

    1、采用面向对象和JSON封装方式。 2、创建XMLHttpRequest兼容主流浏览器,采用连接池管理方式,连接池大小可设置,初始为20. 3、封装了访问Ajax和WebService的API。WebService兼容SOAP1.1和SOAP1.2 4、该资源为作者...

    asp+xmlhttp+javascript+xml

    在这里,ASP接收XMLHTTP请求,可能涉及的操作包括解析请求参数、查询数据库、处理业务逻辑,最后将结果封装成XML字符串并返回。 总结来说,这个模型展示了如何利用AJAX技术结合XML和ASP实现高效、无刷新的用户交互...

    xmlhttp调用WebService

    ` 其中,SOAPEnvelope是封装了请求参数的XML字符串。 5. 处理响应:注册回调函数处理服务器返回的数据。当状态变为4(完成)且状态码为200(成功)时,可以通过`xhr.responseText`或`xhr.responseXML`获取响应内容...

    易语言测试XMLHTTP版本

    在实际应用中,易语言的XMLHTTP版本可能会有所不同,可能包含了一些特定的优化或者对API的封装,使得在易语言环境中使用更加方便。通过分析提供的"易语言测试XMLHTTP版本源码",我们可以更深入地理解这种实现方式,...

    一个ajax功能的JS xml读取封装类代码.rar

    一个实现ajax功能的JS xml读取封装类代码,在这个JavaScript类里面,有核心的读取XML文件的代码,同时还包括了新建XML文档对象、在IE下使用ActiveX来创建,异步读取XML文件,创建XMLHttp对象,以备XML文档对象无法...

    易语言源码易语言xmlhttp各版本速度比较源码.rar

    在易语言中,通过封装XMLHTTP组件,开发者可以实现与Web服务器的通信,进行数据的获取或提交。 源码中可能包含了不同版本的XMLHTTP组件,如XMLHTTP30、XMLHTTP40、XMLHTTP50、XMLHTTP60等,这些版本对应于不同的...

    ajax代码及简单封装

    ### AJAX代码及简单封装知识点详解 #### 一、引言 AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换来实现这一功能...

    收集的ajax封装类

    搜集的ajax类,同步异步,post get 都有涉及。并封装成类以便调用。

    XML实用大全 XMLHttp

    在XML中,数据被封装在元素(Element)中,每个元素都有开始标签和结束标签,例如`<element>`和`</element>`。元素可以包含其他元素、文本或者属性。XML文档必须遵循一定的结构规则,比如元素标签必须正确关闭,属性...

    易语言源码XMLHTTP方式访问网页.rar

    由于易语言本身并不内置XMLHTTP的支持,开发者需要使用第三方模块或者自行封装API来实现这一功能。这个压缩包中的源码很可能是通过这样的方式实现的。 XMLHTTP的主要操作包括: 1. **创建XMLHTTP对象**:在易语言...

Global site tag (gtag.js) - Google Analytics