初识Ajax

标签: ajax | 发表时间:2012-09-09 08:09 | 作者:zhangze_wancheng
出处:http://blog.csdn.net

背景知识: 

Ajax(Asynchronous JavaScript and XMLS异步JavaScript和XML)(“阿贾克斯”)技术

完成页面的局部刷新,从而提升操作性能。

AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。

依赖的核心对象:XMLHttpRequest

通过这个对象,您的 JavaScript 可在不重载页面的情况与 Web 服务器交换数据。AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。

AJAX 可使因特网应用程序更小、更快,更友好。AJAX 是一种独立于 Web 服务器软件的浏览器技术。

AJAX基于下列 Web 标准: JavaScript XML HTML CSS在 AJAX 中使用的 Web标准已被良好定义,并被所有的主流浏览器支持。AJAX应用程序独立于浏览器和平台。Web应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。

 

第一个Ajax程序

纯洁的返回文本数据的页面D:\Program Files\webdemo\14_Ajax\content.htm

Hello World!


使用异步处理:D:\Program Files\webdemo\14_Ajax\Ajax_recieve_content.htm

<html>
<head><title>接收content内容</title></head>
<body>
<script language="JavaScript">
	var xmlHttp;
	function createXMLHttp(){
		if (window.XMLHttpRequest){						// 创建XMLHttpRequest核心对象
			xmlHttp = new XMLHttpRequest()					// 使用FireFox内核
		}else {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");	// 使用IE内核的浏览器
		}
	}

	function showMsg(){		// 显示信息
		createXMLHttp();	//
		xmlHttp.open("POST", "content.htm");	// 设置一个请求
		// 设置完请求后调用回调函数
		xmlHttp.onreadystatechange = showMsgCallback;
		xmlHttp.send(null);	// 发送请求,不设置参数
	}

	function showMsgCallback(){	// 回调函数
		if (xmlHttp.readyState == 4){			// 数据返回完毕
			if (xmlHttp.status == 200){			// HTTP操作正常
				var text = xmlHttp.responseText;// 接收返回内容
				// 设置要使用的CSS样式表
				// doucument.getElementById("msg").className = "样式表名称";
				document.getElementById("msg").innerHTML = text;
			}
		}
	}
</script>

	<input type="button" onClick="showMsg()" value="调用Ajax显示内容">
	<span id="msg"></span>
</body>
<html>


编译错误1:

if (window.XMLHttpRequest()){                                     //创建XMLHttpRequest核心对象

 -->去掉()XMLHttpRequest 是属性不是函数

问题:

xmlHttp.onreadystatechange =showUseridCallback; showUseridCallback()是函数,怎么没有()?

编译错误2:

 

显示效果:

 

网页错误详细信息

消息: 'text'未定义

行: 28

字符: 5

代码: 0

URI: http://localhost/demo/14_Ajax/Ajax_recieve_content.htm

 

 

 

 

 

 

 

 

 


手敲千行不如单步一行!

调试手段:HTML代码怎么调试?类比servlet代码调试

System.out.printf("*********");

àallert(“**************”);看程序进行到哪一步!

 

问题:

1、Ajax的历史、它只依赖于Java么?

 

2、Ajax的xmlhttpRequests对象、方法、属性有专门的文档么?

与jquery ajax比较。

参考文档: http://www.w3school.com.cn/index.html

 

作者:zhangze_wancheng 发表于2012-9-9 8:09:46 原文链接
阅读:49 评论:0 查看评论

相关 [ajax] 推荐:

原生AJAX

- - Web前端 - ITeye博客
对象是ajax的基础,几乎所有的浏览器都支持他,只是创建方式不同,如IE5,IE6. 2、AJAX - 向服务器发送请求请求. 与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用. 然而,在以下情况中,请使用 POST 请求:. 无法使用缓存文件(更新服务器上的文件或数据库). 向服务器发送大量数据(POST 没有数据量限制).

初识Ajax

- - CSDN博客推荐文章
Ajax(Asynchronous JavaScript and XMLS异步JavaScript和XML)(“阿贾克斯”)技术. 完成页面的局部刷新,从而提升操作性能. AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术. 依赖的核心对象:XMLHttpRequest.

jquery ajax 跨域请求

- - 博客园_首页
使用 jquery 中的ajax  进行跨域请求. 说明:dataType 为  "jsonp"  ;type 只能为 GET.                    //处理错误. 后台处理代码 ValidAccountsExists.aspx.

ajax核心js代码

- - ITeye博客
                         //针对firefox,mozillar,opera,safari,IE7,IE8.                          //针对某些特定版本的mozillar浏览器的bug进行修正.                          //针对IE6,IE5.5,IE5.

反向Ajax,第1部分:Comet介绍

- 茫茫 - 译言-每日精品译文推荐
来源Reverse Ajax, Part 1: Introduction to Comet. web开发在过去的几年中有了很大的进展,我们已经远超了把静态网页链接在一起的做法,这种做法会引起浏览器的刷新,并且要等待页面的加载. 现在需要的是能够通过web来访问的完全动态的应用,这些应用通常需要尽可能的快,提供近乎实时的组件.

ajax后退解决方案(一)

- We_Get - 博客园-首页原创精华区
一、使用iframe,通过document.write产生历史. . 点击按钮后更新页面DOM(模拟ajax提交),会发现浏览器后退按钮可用了. 这种方式缺点是只支持IE和Firefox. 作者: snandy 发表于 2011-09-18 08:42 原文链接.

反向Ajax,第2部分:WebSocket

- KnightE - 译言-电脑/网络/数码科技
来源Reverse Ajax, Part 2: WebSockets. 时至今日,用户期待的是可通过web访问快速、动态的应用. 这一文章系列展示了如何使用反向Ajax(Reverse Ajax)技术来开发事件驱动的web应用. 系列的第1部分介绍了反向Ajax、轮询(polling)、流(streaming)、Comet和长轮询(long polling).

一次Ajax查错的经历

- - 酷壳 - CoolShell.cn
我有一朋友做网站,用jQuery的Ajax方法从后端载入一段HTML代码然后动态插入到网页的Div元件中. jQuery强大的load方法可以完成这个事情. 在Chrome,Firefox,Safari下运行一点问题也没有,只有IE不行,不管是IE7,IE8,还是IE9. 问题的症壮是,使用IE访问那个Ajax的链接,没有问题,但是在jQuery的Ajax方法返回了“undefined”的respons对象.

ajax与HTML5 history pushState/replaceState实例

- - 张鑫旭-鑫空间-鑫生活
本文地址: http://www.zhangxinxu.com/wordpress/?p=3432. 我就TM想找个例子,知道如何个使用,使用语法什么的滚粗. 精力总是有限的,昨天一冲动,在上海浦东外环之外订了个90米的房子,要借钱筹首付、贷款和领证什么的. HTML5 history相关知识点啪啦啪啦讲起来也是一条又臭又长的裹脚布,精气神实在不够用,这里,直接一个实例.

一个简单的AJAX示例

- - 博客园_Ruby's Louvre
虽然现在有了框架,许多AJAX调用直接调用它们的API就可用. 但有些极端情况,比如面试,比如第三方应用不想加载这些库,我们就只有自己写. 这时想必有许多人要疯狂google,百度了. 网上太多垃圾信息,我还是在自己博客上保存一份吧.