从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" 是初学者进入异步JavaScript和XML(Asynchronous JavaScript and XML)技术领域的起点。Ajax是一种在无需刷新整个网页的情况下,能够更新部分网页的技术,极大地提升了用户体验。...
这个“Ajax实现helloworld!实例”是针对初学者的一个项目,旨在帮助他们理解并掌握如何在Eclipse开发环境中,结合Struts框架来运用Ajax技术。下面我们将详细探讨这一主题。 首先,我们需要了解Ajax的基本概念。Ajax...
在本实例中,我们关注的是一个名为"HTML_AJAX-HelloWorld"的压缩包,它包含了使用PEAR(PHP扩展和应用库)中的html_ajax组件实现的一个基本AJAX(异步JavaScript和XML)示例。 首先,让我们理解HTML(超文本标记...
总结起来,这个Ajax的"HelloWorld1"实例展示了如何创建一个基本的Ajax请求,从点击链接到获取服务器响应并处理数据的完整流程。这只是一个简单的例子,实际应用中,我们可能需要处理更复杂的数据格式,如JSON,或者...
本教程将详细讲解如何在Visual Studio 2010(VS2010)中创建一个简单的“HelloWorld”WebService。这个过程是开发者入门.NET WebService开发的基本步骤。 首先,启动Visual Studio 2010并创建一个新的项目。选择...
<create class="com.example.HelloWorld" javascript="HelloWorld"> ``` 这段配置表示允许JavaScript创建一个名为`HelloWorld`的对象,并可以调用其中的`getName`方法。 3. **创建Java类**:创建一个名...
**JSF(JavaServer Faces)入门 HelloWorld 指南** JavaServer Faces (JSF) 是一个用于构建用户界面的 JavaEE 核心技术,它提供了一种声明式的方式来创建 Web 应用程序的用户界面。JSF 提供了一个组件模型,使得...
在"HelloWorld.rar"这个压缩包中,我们很显然会找到一个基础的ExtJS项目,用于初学者学习和理解如何在实践中应用和导入ExtJS组件库。 在深入探讨之前,先来了解一下ExtJS的核心特性。ExtJS 提供了一个丰富的组件...
在“HelloWorld”示例中,我们可能只展示一条硬编码的消息,但这也展示了数据如何从Bean到视图的传递。 7. **运行和测试** 为了运行和测试这个“JSF HelloWorld”应用,我们需要一个支持JSF的服务器(如Tomcat或...
- 创建一个HTML文件,例如`HTML_AJAX-HelloWorld.html`: ```html function sayHello() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr....
这个“ajax例子----Hello world”很显然是一个基础的示例,用于展示如何使用Ajax来实现简单的数据交互。下面我们将深入探讨Ajax的核心概念、工作原理以及如何创建一个“Hello, World”级别的Ajax应用。 Ajax的核心...
《HelloWorld框架详解——构建前后台交互的基础》 在编程世界中,“Hello, World!”是初学者接触的第一个程序,它标志着编程旅程的开始。而“HelloWorld框架”则是一个简化版的、专用于演示和教学的框架,它帮助...
虽然在描述中未提及,但在实际开发中,你可以通过集成PrimeFaces来增强"HelloWorld"应用的用户体验,例如使用`<p:commandButton>`实现AJAX操作,或使用`<p:dialog>`显示对话框。 **学习资源** 为了深入学习JSF 2.0...
"RAP Helloworld" 是一个初学者入门级别的程序,它标志着你在探索 Rich Ajax Platform(简称 RAP)的旅程已经开始。RAP 是一个强大的、基于 Java 的 Web 应用程序框架,专门设计用于构建富客户端应用程序,其核心是...
例如,`HelloWorld.xhtml`,并在其中编写如下代码: ```html <!DOCTYPE html> xmlns:h="http://xmlns.jcp.org/jsf/html"> <title>Hello World <h1>#{helloBean.message} ``` 这里,`#{helloBean....
在这个"Dwr+Demo+helloworld"示例中,我们将探讨如何利用DWR轻松实现JavaScript与Java之间的交互,创建一个简单的"Hello, World!"应用程序。 首先,我们需要了解DWR的基本概念。DWR的核心功能是提供一个代理层,...
在“Dwr helloworld小例子”中,我们可以通过一个简单的项目来学习DWR的基本用法。MyEclipse是一款强大的集成开发环境,特别适合于Java和Web应用的开发,它内置了对DWR的支持。 首先,我们需要在MyEclipse中创建一...
接下来,我们来看看`helloworld.js`文件,它包含了AngularJS应用的逻辑部分: ```javascript var app = angular.module('myApp', []); app.controller('HelloCtrl', function($scope) { $scope.greeting = '你好,...
在这个"DWR.rar dar实现helloworld"项目中,我们很显然会学习如何利用DWR来创建一个简单的“Hello, World”示例。 首先,DWR的"dar"可能指的是DWR Archive,这是一个包含DWR相关配置和类库的打包文件,用于简化部署...
在这个"第一个DWR HelloWorld例子"中,我们将深入理解DWR的基本原理和操作流程,通过实践来学习如何搭建一个简单的DWR应用。 1. **DWR的基本概念** DWR的核心思想是创建一个安全的、高效的、易于使用的AJAX框架。...