`
ychw365
  • 浏览: 54389 次
  • 性别: Icon_minigender_1
  • 来自: 长春
最近访客 更多访客>>
社区版块
存档分类
最新评论

从Ajax的HelloWorld说起

阅读更多

 从Ajax的HelloWorld说起 收藏
 就这个经典的HelloWorld示例,学习Ajax的交互模式。
还是从如何创建HelloWorld说起吧:
1、创建 XmlHttpRequest 对象
function createXmlHttpRequestObject() {
                if (window.XMLHttpRequest) {
                    return new XMLHttpRequest(); //Not IE
                }
                else if(window.ActiveXObject) {
                    return new ActiveXObject("Microsoft.XMLHTTP"); //IE
                }
                else {
                    //Display your error message here.
                    //and inform the user they might want to upgrade
                    //their browser.
                    alert("Your browser doesn't support the XmlHttpRequest object.  Better upgrade to Firefox.");
                }
            }           

            var receiveReq = createXmlHttpRequestObject();   
2、初始化异步请求,XmlHttpRequest对象如何做“中转站”的工作,就在这里体现:
先获取个客户端事件信号,再把它传给服务器;
服务器根据readyState属性的变化情况回馈给XmlHttpRequest对象;(建立对服务器的调用,open())
XmlHttpRequest对象根据回馈,CallBack()函数就会在客户端上做些有意思的工作。


function sayHello() {
                //4表示请求完成,0表示未初始化;(点击按钮会初始化一个发到服务器的异步请求3333)
                if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
                    //建立对服务器的调用,call to SayHello.html(555)
                    receiveReq.open("GET", 'simpleResponse.xml', true);
                    //每个改变时都会触发这个事件处理器,通常会调用一0个javascript函数!(666) Set the function that will be called when the XmlHttpRequest objects state changes.
                    receiveReq.onreadystatechange = CallBack;
                    //向服务器发送请求
                    receiveReq.send(null);
                }           
            }

2.2 CallBack()函数:


function CallBack() {
                //Check to see if the XmlHttpRequests state is finished.
                if (receiveReq.readyState == 4) {
                    //Set the contents of our span element to the result of the asyncronous call.
                    //document.getElementById('span_result').innerHTML = receiveReq.responseText;
                    alert("The"+receiveReq.responseText);

                }
            }
3、示意图:

 


4、完整代码(HelloWorld.HTML):


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>The Hello World of AJAX</title>
   
        <script language="JavaScript" type="text/javascript">
            //创建 XmlHttpRequest 对象
            function createXmlHttpRequestObject() {
                if (window.XMLHttpRequest) {
                    return new XMLHttpRequest(); //Not IE
                }
                else if(window.ActiveXObject) {
                    return new ActiveXObject("Microsoft.XMLHTTP"); //IE
                }
                else {
                    //Display your error message here.
                    //and inform the user they might want to upgrade
                    //their browser.
                    alert("Your browser doesn't support the XmlHttpRequest object.  Better upgrade to Firefox.");
                }
            }           

            var receiveReq = createXmlHttpRequestObject();   
           
           
               
            //Initiate the asyncronous request.初始化异步请求。
            //点击按钮会初始化一个发到服务器的异步请求
            //服务器将发回一个简单的静态文本作为响应
            function sayHello() {
                //4表示请求完成,0表示未初始化;(点击按钮会初始化一个发到服务器的异步请求(示意图中第3步)
                if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
                    //建立对服务器的调用,call to SayHello.html    (示意图中第5步)
                    receiveReq.open("GET", 'simpleResponse.xml', true);
                    //每个改变时都会触发这个事件处理器,通常会调用一0个javascript函数!(示意图中第6步)
                        //Set the function that will be called when the XmlHttpRequest objects state changes.
                    receiveReq.onreadystatechange = CallBack;
                    //向服务器发送请求
                    receiveReq.send(null);
                }           
            }
            //Called every time our XmlHttpRequest objects state changes.
            //handleStateChange回调函数,这个函数会检查XmlHttpRequest对象的readyState属性,
            //然后查看服务器返回的状态码,如果一切正常,handleStateChange就会在客户端上做些有意思的工作
            //CallBack()
            function CallBack() {
                //Check to see if the XmlHttpRequests state is finished.
                if (receiveReq.readyState == 4) {
                    //Set the contents of our span element to the result of the asyncronous call.
                    //document.getElementById('span_result').innerHTML = receiveReq.responseText;
                    alert("The"+receiveReq.responseText);

                }
            }
            </script>
           
</head>
<body>
<a href="javascript:sayHello();">Say Hello</a><br />
<!--<span id="span_result"></span>-->
</body>
</html>


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chjk1/archive/2008/04/12/2285300.aspx

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    ajax第一个helloworld

    【标题】"Ajax 第一个 HelloWorld" 是初学者进入异步JavaScript和XML(Asynchronous JavaScript and XML)技术领域的起点。Ajax是一种在无需刷新整个网页的情况下,能够更新部分网页的技术,极大地提升了用户体验。...

    Ajax实现helloworld!实例,eclipse+struts+Ajax初学者必看

    这个“Ajax实现helloworld!实例”是针对初学者的一个项目,旨在帮助他们理解并掌握如何在Eclipse开发环境中,结合Struts框架来运用Ajax技术。下面我们将详细探讨这一主题。 首先,我们需要了解Ajax的基本概念。Ajax...

    HTML_AJAX-HelloWorld.tar

    在本实例中,我们关注的是一个名为"HTML_AJAX-HelloWorld"的压缩包,它包含了使用PEAR(PHP扩展和应用库)中的html_ajax组件实现的一个基本AJAX(异步JavaScript和XML)示例。 首先,让我们理解HTML(超文本标记...

    Ajax的HelloWorld1

    总结起来,这个Ajax的"HelloWorld1"实例展示了如何创建一个基本的Ajax请求,从点击链接到获取服务器响应并处理数据的完整流程。这只是一个简单的例子,实际应用中,我们可能需要处理更复杂的数据格式,如JSON,或者...

    .Net 中使用WebService HelloWorld

    本教程将详细讲解如何在Visual Studio 2010(VS2010)中创建一个简单的“HelloWorld”WebService。这个过程是开发者入门.NET WebService开发的基本步骤。 首先,启动Visual Studio 2010并创建一个新的项目。选择...

    dwr.jar编写helloworld

    &lt;create class="com.example.HelloWorld" javascript="HelloWorld"&gt; ``` 这段配置表示允许JavaScript创建一个名为`HelloWorld`的对象,并可以调用其中的`getName`方法。 3. **创建Java类**:创建一个名...

    jsf 入门 helloWorld

    **JSF(JavaServer Faces)入门 HelloWorld 指南** JavaServer Faces (JSF) 是一个用于构建用户界面的 JavaEE 核心技术,它提供了一种声明式的方式来创建 Web 应用程序的用户界面。JSF 提供了一个组件模型,使得...

    HelloWorld.rar

    在"HelloWorld.rar"这个压缩包中,我们很显然会找到一个基础的ExtJS项目,用于初学者学习和理解如何在实践中应用和导入ExtJS组件库。 在深入探讨之前,先来了解一下ExtJS的核心特性。ExtJS 提供了一个丰富的组件...

    JSF helloworld

    在“HelloWorld”示例中,我们可能只展示一条硬编码的消息,但这也展示了数据如何从Bean到视图的传递。 7. **运行和测试** 为了运行和测试这个“JSF HelloWorld”应用,我们需要一个支持JSF的服务器(如Tomcat或...

    Hello World

    - 创建一个HTML文件,例如`HTML_AJAX-HelloWorld.html`: ```html function sayHello() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr....

    ajax例子----Hello world

    这个“ajax例子----Hello world”很显然是一个基础的示例,用于展示如何使用Ajax来实现简单的数据交互。下面我们将深入探讨Ajax的核心概念、工作原理以及如何创建一个“Hello, World”级别的Ajax应用。 Ajax的核心...

    helloworld框架.rar

    《HelloWorld框架详解——构建前后台交互的基础》 在编程世界中,“Hello, World!”是初学者接触的第一个程序,它标志着编程旅程的开始。而“HelloWorld框架”则是一个简化版的、专用于演示和教学的框架,它帮助...

    jsf2.0版本helloworld

    虽然在描述中未提及,但在实际开发中,你可以通过集成PrimeFaces来增强"HelloWorld"应用的用户体验,例如使用`&lt;p:commandButton&gt;`实现AJAX操作,或使用`&lt;p:dialog&gt;`显示对话框。 **学习资源** 为了深入学习JSF 2.0...

    RAP Helloworld

    "RAP Helloworld" 是一个初学者入门级别的程序,它标志着你在探索 Rich Ajax Platform(简称 RAP)的旅程已经开始。RAP 是一个强大的、基于 Java 的 Web 应用程序框架,专门设计用于构建富客户端应用程序,其核心是...

    JSF2.0实战 - 1-3、Hello World,AJAX体验,onPageLoad

    例如,`HelloWorld.xhtml`,并在其中编写如下代码: ```html &lt;!DOCTYPE html&gt; xmlns:h="http://xmlns.jcp.org/jsf/html"&gt; &lt;title&gt;Hello World &lt;h1&gt;#{helloBean.message} ``` 这里,`#{helloBean....

    dwr+demo+helloworld

    在这个"Dwr+Demo+helloworld"示例中,我们将探讨如何利用DWR轻松实现JavaScript与Java之间的交互,创建一个简单的"Hello, World!"应用程序。 首先,我们需要了解DWR的基本概念。DWR的核心功能是提供一个代理层,...

    Dwr helloworld小例子

    在“Dwr helloworld小例子”中,我们可以通过一个简单的项目来学习DWR的基本用法。MyEclipse是一款强大的集成开发环境,特别适合于Java和Web应用的开发,它内置了对DWR的支持。 首先,我们需要在MyEclipse中创建一...

    AngularJS 之Hello World篇

    接下来,我们来看看`helloworld.js`文件,它包含了AngularJS应用的逻辑部分: ```javascript var app = angular.module('myApp', []); app.controller('HelloCtrl', function($scope) { $scope.greeting = '你好,...

    DWR.rar dar实现helloworld

    在这个"DWR.rar dar实现helloworld"项目中,我们很显然会学习如何利用DWR来创建一个简单的“Hello, World”示例。 首先,DWR的"dar"可能指的是DWR Archive,这是一个包含DWR相关配置和类库的打包文件,用于简化部署...

    第一个DWR HelloWorld例子(附:详细说明)

    在这个"第一个DWR HelloWorld例子"中,我们将深入理解DWR的基本原理和操作流程,通过实践来学习如何搭建一个简单的DWR应用。 1. **DWR的基本概念** DWR的核心思想是创建一个安全的、高效的、易于使用的AJAX框架。...

Global site tag (gtag.js) - Google Analytics