• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >AJAX > AJAX客户端说明,XMLHttpRequest对象

AJAX客户端说明,XMLHttpRequest对象

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了AJAX客户端说明,XMLHttpRequest对象等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
在CommunityServer中运用了自己的AJAX机制,没有借助其他的辅助控件。其中客户的XMLHttpRequest对象的封装,就足以让人大饱眼福,在一般的浏览器其都能够运行AJAX。下面我们来学习学习这个咚咚,希望能给更多的人带来帮助。

 首先当然是要了解一下浏览器中的XMLHttp对象了:

 XMLHTTP方法: 
         备注:客户机可以使用XMLHTTP对象发送任意的HTTP请求,接受HTTP应答,还可以对应答的XML文档进行解析。 

         Open方法:初始化一个Msxml2.XMLHTTP请求,指定HTTP请求方式、URL以及鉴定信息。

        语法:
         Open( bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword ) 

        参数介绍:

        bstrMethod: 数据传送方式,即GET或POST。 
         bstrUrl: 服务网页的URL。 
         varAsync: 是否同步执行。缺省为True,即同步执行,但只能在DOM中实施同步执行。用中一般将其置为False,即异步执行。 
         bstrUser: 用户名,可省略。 
         bstrPassword:用户口令,可省略。 

        Send方法:发送HTTP请求到服务器,返回应答。 

        语法: 
        oXMLHttpRequest.send(varBody) 

       说明:此方法是否同步取决于Open方法的varAsync参数。如果设为True则为同步,调用立刻返回,如果设为False调用直到整个应答被接收了才返回。 

        setRequestHeader( bstrHeader, bstrvalue )

        bstrHeader:HTTP 头(header) 
        bstrvalue: HTTP 头(header)的值 

       如果Open方法定义为POST,可以定义表单方式上传: 
       xmlhttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded") 

XMLHTTP属性: 

 onreadystatechange:在同步执行方式下获得返回结果的事件句柄。只能在DOM中调用。 
 responseBody: 结果返回为无符号整数数组。 
 responseStream: 结果返回为IStream流。 
 responseText : 结果返回为字符串。 
 responseXML: 结果返回为XML格式数据。

 运用这个原理也可以做网络小偷程序,网络爬虫应该就是应用这个东西来完成的吧,不过我没有做过,可能在不久的将来会制作个来玩玩,这里我们最主要的是看看CS中是如何封装他的:

   1//Ajax Start
 2/**////<summary>
 3///创建回调对象,如果存在window.XMLHttpRequest()对象,则返回此对象,如果是IE则搜索Msxml2.XMLHTTP各个版本及Microsoft.XMLHTTP并创建对象返回。
 4///</summary>
 5function Ajax_GetXMLHttpRequest() {
 6    if (window.XMLHttpRequest) {
 7        return new XMLHttpRequest();
 8    } else {
 9        if (window.Ajax_XMLHttpRequestProgID) {
            return new ActiveXObject(window.Ajax_XMLHttpRequestProgID);
        } else {
            var progIDs = ["Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
            for (var i = 0; i < progIDs.length; ++i) {
                var progID = progIDs[i];
                try {
                    var x = new ActiveXObject(progID);
                    window.Ajax_XMLHttpRequestProgID = progID;
                    return x;
                } catch (e) {
                }
            }
        }
    }
    return null;
}
/**////<summary>
///Ajax回调。
///</summary>
///<param name="type">调用服务端函数所在的类包括命名空间(如:NExplus.Controls.SiteHeader)。</param>
///<param name="id">客户端所对应的标记的ID(如:<div id="ID"></div>)。</param>
///<param name="method">服务端(方法)函数名称(被AjaxMethod标记)。</param>
///<param name="args">传到服务器的字符串。</param>
///<param name="clientCallBack">同步或异步回调。</param>
///<param name="debugRequestText">调试/请求字符串。</param>
///<param name="debugResponseText">调试/输出字符串。</param>
///<param name="debugErrors">调试的错误信息。</param>
///<param name="includeControlValuesWithCallBack">是否和控件及其值一起回调。</param>
///<param name="url">Url地址。</param>
function Ajax_CallBack(type, id, method, args, clientCallBack, debugRequestText, debugResponseText, debugErrors, includeControlValuesWithCallBack, url) {

    if (!url)
    {
        url = window.location.href;
        url = url.replace(/\#.*$/, '');//去除URL中标签部分,即"#"之后的字符串。
        //加入参数Ajax_CallBack并设为true,说明是AJAX回调。
        if (url.indexOf('?') > -1)
            url += "&Ajax_CallBack=true";
        else
        {
            if (url.substr(url.length - 1, 1) == "/")
                url += "default.aspx";

            url += "?Ajax_CallBack=true";
        }
    }

    var x = Ajax_GetXMLHttpRequest();//取得XMLHttpRequest对象。
    var&nb
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • AJAX客户端说明,XMLHttpRequest对象

相关文章

  • 2017-05-11添加后台list给前台select标签赋值简单实现
  • 2017-05-11基于AJAX的分页类实现代码
  • 2017-05-11AJAX工作原理及优缺点详解
  • 2017-05-11如何将ajax请求返回的Json格式数据循环输出成table形式
  • 2017-05-11PHP Ajax实现页面无刷新发表评论
  • 2017-05-11Ajax向后台传json格式的数据出现415错误的原因分析及解决方法
  • 2017-05-11探讨Ajax中同步与异步之间的区别
  • 2017-05-11十大最佳Ajax教程收集(图文)
  • 2017-05-11谈谈你对aja的理解(一、二)
  • 2017-05-11Ajax请求中async:false/true的作用分析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ajax 同步和异步XMLHTTP代码分析
    • Ajax实现异步用户名验证功能
    • 浅谈Ajax请求与浏览器缓存
    • Ajax如何传输Json和xml数据
    • 基于firefox实现ajax图片上传
    • asp+ajax实现静态页面分页的代码
    • Ajax Hacking
    • Ajax轮询请求状态(微信公众号带参数二维码登录网站)
    • Ajax+php实现商品分类三级联动
    • ajax问题总结 比较全

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有