`
1028826685
  • 浏览: 938674 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

XmlHttpRequest对象创建于使用片段及处理xml(Post)

    博客分类:
  • ajax
阅读更多
XmlHttpRequest对象创建于使用片段及处理xml .js

//用户名校验的方法
//这个方法将使用XMLHTTPRequest对象来进行AJAX的异步数据交互
var xmlhttp;
function verify() {
    //0。使用dom的方式获取文本框中的值
    //document.getElementById("userName")是dom中获取元素节点的一种方法,一个元素节点对应HTML页面中的一个标签,如果<input>
    //。value可以获取一个元素节点的value属性值
    var userName = document.getElementById("userName").value;

    //1.创建XMLHttpRequest对象
    //这是XMLHttpReuquest对象无部使用中最复杂的一步
    //需要针对IE和其他类型的浏览器建立这个对象的不同方式写不同的代码

    if (window.XMLHttpRequest) {
        //针对FireFox,Mozillar,Opera,Safari,IE7,IE8
        xmlhttp = new XMLHttpRequest();
        //针对某些特定版本的mozillar浏览器的BUG进行修正
        if (xmlhttp.overrideMimeType) {
            xmlhttp.overrideMimeType("text/xml");
        }
    } else if (window.ActiveXObject) {
         //针对IE6,IE5.5,IE5
        //两个可以用于创建XMLHTTPRequest对象的控件名称,保存在一个js的数组中
        //排在前面的版本较新
        var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
        for (var i = 0; i < activexName.length; i++) {
            try{
                //取出一个控件名进行创建,如果创建成功就终止循环
                //如果创建失败,回抛出异常,然后可以继续循环,继续尝试创建
                xmlhttp = new ActiveXObject(activexName[i]);
                break;
            } catch(e){
            }
        }
    }
    //确认XMLHTtpRequest对象创建成功
    if (!xmlhttp) {
        alert("XMLHttpRequest对象创建失败!!");
        return;
    } else {
        alert(xmlhttp.readyState);
    }

    //2.注册回调函数
    //注册回调函数时,之需要函数名,不要加括号
    //我们需要将函数名注册,如果加上括号,就会把函数的返回值注册上,这是错误的
    xmlhttp.onreadystatechange = callback;

    //3。设置连接信息
    //第一个参数表示http的请求方式,支持所有http的请求方式,主要使用get和post
    //第二个参数表示请求的url地址,get方式请求的参数也在url中
    //第三个参数表示采用异步还是同步方式交互,true表示异步
    //xmlhttp.open("GET","AJAXServer?name="+ userName,true);

    //POST方式请求的代码
    xmlhttp.open("POST","AJAXXMLServer",true);
    //POST方式需要自己设置http的请求头
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    //POST方式发送数据
    xmlhttp.send("name=" + userName);

    //4.发送数据,开始和服务器端进行交互
    //同步方式下,send这句话会在服务器段数据回来后才执行完
    //异步方式下,send这句话会立即完成执行
    //xmlhttp.send(null);
}

//回调函数
function callback() {
    //alert(xmlhttp.readyState);
    //5。接收响应数据
    //判断对象的状态是交互完成
    if (xmlhttp.readyState == 4) {
        //判断http的交互是否成功
        if (xmlhttp.status == 200) {
            //使用responseXML的方式来接收XML数据对象的DOM对象
            var domObj = xmlhttp.responseXML;
            if (domObj) {
                //<message>123123123</message>
                //dom中利用getElementsByTagName可以根据标签名来获取元素节点,返回的是一个数组
                var messageNodes = domObj.getElementsByTagName("message");
                if (messageNodes.length > 0) {
                    //获取message节点中的文本内容
                    //message标签中的文本在dom中是message标签所对应的元素节点的字节点,firstChild可以获取到当前节点的第一个子节点
                    //通过以下方式就可以获取到文本内容所对应的节点
                    var textNode = messageNodes[0].firstChild;
                    //对于文本节点来说,可以通过nodeValue的方式返回文本节点的文本内容
                    var responseMessage = textNode.nodeValue;



                    //将数据显示在页面上
                    //通过dom的方式找到div标签所对应的元素节点
                    var divNode = document.getElementById("result");
                    //设置元素节点中的html内容
                    divNode.innerHTML = responseMessage;
                } else {
                    alert("XML数据格式错误,原始文本内容为:" + xmlhttp.responseText);
                }
            } else {
                alert("XML数据格式错误,原始文本内容为:" + xmlhttp.responseText);
            }
        } else {
            alert("出错了!!!");
        }
    }
}


分享到:
评论

相关推荐

    05-使用XMLHttpRequest对象发送和接收XML数据,及乱码问题的解决.pdf

    2. 发送和接收XML数据:在使用XMLHttpRequest对象时,我们可以通过其send方法发送请求,并通过responseXML属性或responseText属性接收来自服务器的数据。通常情况下,服务器返回的是XML格式的数据,客户端通过解析...

    XMLHTTPRequest属性与方法

    通过上述代码片段可以看出,为了兼容各种浏览器环境,我们首先尝试使用 `ActiveXObject` 创建 XMLHttpRequest 对象,如果失败则尝试使用原生的 `XMLHttpRequest` 构造函数。 #### 三、XMLHTTPRequest的主要属性与...

    使用XML HTTP发送超长XML表单数据

    同时,考虑到跨域安全性和兼容性问题,可能需要使用现代浏览器支持的`fetch` API或`XMLHttpRequest`对象,而非旧版的ActiveX对象。 总结来说,处理超长XML表单数据的关键在于理解服务器的限制,利用合适的客户端和...

    Ajax中XmlHttpRequest实例笔记

    通过实例化XMLHttpRequest对象或使用jQuery的Ajax方法,我们可以实现与服务器的交互,从而创建出更富交互性的Web应用。在实际项目中,通常会结合HTML、CSS、JavaScript以及服务器端技术,共同构建高效、动态的Web...

    Ajax技术开发指南 AJAX(Asynchronous JavaScript and XML)是结合了Java技术、XML以及JavaScript等编程技术,可以让开发人员构建基于Java技术的Web应用,并打破了使用页面重载的惯例。

    通过创建XMLHttpRequest对象,设置HTTP请求的类型(GET或POST)、URL和是否异步执行,然后发送请求。当服务器响应时,处理返回的数据。 ### 2. 数据交换格式 虽然名字中有XML,但实际应用中,Ajax并不一定局限于...

    Ajax简单示例应用,小片段,随意下载

    这个Ajax小片段的示例,虽然简单,但它涵盖了Ajax的基本使用流程,对于初学者来说,是一个很好的实践案例,有助于理解Ajax如何在实际场景中工作。通过学习和模仿这样的例子,你可以逐步掌握Ajax技术,并将其应用于更...

    Java实现XML导入不同数据库,从数据库导出数据到XML

    例如,如果我们使用JDBC(Java Database Connectivity)连接MySQL,可以创建PreparedStatement对象,设置SQL语句,然后将XML中的值传入占位符。 2. **不同数据库间的操作**: Java支持多种数据库驱动,如MySQL、...

    ajax处理服务器返回的三种数据类型方法

    例如,你可以创建一个函数`ajaxText()`,通过`XMLHttpRequest`对象发送POST请求,并在`onreadystatechange`事件中处理返回的文本。服务器端通过设置`Content-Type:text/html;charset=utf-8`来表明返回数据的类型。...

    小偷程序详细介绍

    在给定的代码片段中,可以看到`getDatal(url)`函数通过`MSXML2.XMLHTTP.4.0`创建XMLHttpRequest对象,并使用GET方法发起请求,最后返回响应的XML数据。此外,还展示了如何通过`getHTTPPage(url)`函数使用VBScript...

    AJAX jquery

    在使用Ajax进行开发时,开发者需要创建XHR对象,这通常涉及到不同浏览器的兼容性处理。之后,需要绑定回调函数来处理服务器响应的数据。在发送参数时,可以使用GET方法将数据附加到URL后,也可以使用POST方法通过...

    Ajax 简易小例子

    在这个文件中,可能包含了创建XMLHttpRequest对象、设置请求参数、监听状态变化以及处理响应的代码片段。 总结起来,Ajax是一种强大的Web开发技术,通过异步数据传输,它可以提高网页的响应性和用户体验。这个"简易...

    ajax xmlhttp javascript

    为了简化这个过程,可以使用一个工厂函数来创建`XMLHttpRequest`对象,如上文代码片段所示。这样可以确保在所有浏览器中都能正确创建对象,而无需关心具体的实现细节。 ### 配置和发送请求 一旦`XMLHttpRequest`...

    在hrml页面中创建ajax实例

    创建了`XMLHttpRequest`对象后,我们需要配置请求的参数,包括请求类型(GET或POST)、请求URL以及是否为异步请求。例如,我们可以设置如下: ```javascript xmlHttp.open('POST', 'shangchuan.php', true); ``` ...

    ajax各种方法的运用借鉴.pdf

    在上述文件片段中,主要展示了XMLHttpRequest对象的使用方法和AJAX的基本原理。下面,我将详细地介绍这些知识点: 1. XMLHttpRequest对象 XMLHttpRequest对象是浏览器提供的用于异步请求的一种机制,它允许...

    ajax框架,经典结构

    例如,在Internet Explorer中,无法直接使用`XMLHttpRequest`对象,而需要使用`ActiveXObject`来创建相应的对象实例。这正是上述代码片段中所体现出来的兼容性处理策略。 #### 四、AJAX的工作流程 了解了如何创建`...

    ajax的基本原理以及实现

    - 在现代浏览器中,可以直接使用 `new XMLHttpRequest()` 创建 XMLHttpRequest 对象。 - 对于旧版本的 IE 浏览器,则需要使用 `new ActiveXObject("Microsoft.XMLHTTP")` 来创建。 2. **初始化请求**: - 使用 `...

    ajax最简单范例

    总之,“ajax最简单范例”不仅展示了AJAX的基本使用方法,包括创建XMLHttpRequest对象、发送异步请求、处理服务器响应以及设置请求头等关键步骤,还体现了良好的编程实践,如代码封装、兼容性和错误处理,这些都是...

    ajax做的小例子,可以看看

    4. **数据格式**:虽然名字中有XML,但Ajax并不局限于使用XML。现代Ajax应用更常使用JSON格式,因为JSON更轻量且易于解析。在这个例子中,服务器返回的数据可能是HTML片段或者JSON格式,用于更新网页的部分内容。 5...

    Ajax基本运行原理

    2. **创建 XMLHttpRequest 对象**:使用JavaScript创建一个`XMLHttpRequest`对象实例。 3. **配置请求**:设置请求的类型(GET/POST)、URL地址以及回调函数,用于处理服务器响应。 4. **发送请求**:通过调用`send...

    智能社视频材料 - Ajax基础

    学习者需要了解如何创建和使用XMLHttpRequest对象,以及如何设置请求参数如URL、HTTP方法(GET或POST)等。 2. **发送请求**:学习如何使用send()方法发送数据到服务器。对于GET请求,数据通常包含在URL中;对于...

Global site tag (gtag.js) - Google Analytics