AJAX小结
原出处:http://blog.163.com/zwx_gis/blog/static/32434435200971072634757/
Web编程相关 2009-08-10 19:26 阅读15 评论0
Ajax (Asynchronous JavaScript and XML) 是多种技术的集合,包括JavaScript、XHTML、CSS、DOM、XML、XSTL、XMLHttpRequest等,其中XHTML和CSS 实现标准化呈现,DOM 负责数据的动态显示和交互,XML和XSTL进行数据交换和处理, JavaScript负责操作XMlHttpRequest对象来跟数据库打交道,XMLHttpRequest负责数据的异步获取。
优点:无刷新请求处理数据。
缺点:要求IE5.0,Mozilla1.0,NetScape7以上;
更新页面内容时没有刷新整个页面,故后退功能是失效的;
对流媒体和PDA之类的支持不是很好。
一、核心对象:XMLHttpRequest对象(是XMLHTTP组件的对象)。
一个页面可以通过一个HttpRequest发送一个请求来获取服务器响应,而当前页面不做刷新。XMLHttpRequest对象不是W3C标准,目前支持此对象操作的浏览器有:IE5.0+、Firefox、Netscape7、Mozilla1.0、Safari1.2等。
属性:
属性名
描述
onreadystatechange
一个事件,用来捕获所有的状态变换,通常调用javascript函数
readyState
返回对象状态:
0 = uninitialized(没有初始化)
1 = loading(正在读取中)
2 = loaded(已读取)
3 = interactive(交互中)
4 = complete(完成)
responseText
响应文本,表示一个串
responseXML
响应XML数据,可以解析为DOM对象
status
返回服务器状态的数字
404 = Not Found(没发现)
200 = OK(成功)
statusText
返回状态文本(如:“Not Found” ,“OK”)
方法:
方法
描述
open(
'GET/POST',
url,
true/flase,
user,passwd)
打开一个请求
get/post:请求方法
url:请求的url
true/flase:异步/同步模式。即发送请求后是否等待回应而去执行别的操作。
访问用户,访问密码(可选)
send(content)
向服务器发送请求
可以是DOM对象的实例、输入流,或者串
getAllResponseHeaders()
获取完整的Http header信息
包括Content-Length、Date、url
getResponseHeader(headername)
获取指定的Http header信息
setRequestHeader("label","value")
设置请求头部信息
在设置任何头部之前必须先调用
相关文档:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript&quo ......
Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。对于Ajax,最核心的一个对象是XMLHttpRequest,所有的Ajax操作都离不开对这个对象的操作。
首先我们来了解怎么在javascript中创建这个对象:
var xmlHttp = new ......
为了让各为能够了解什么是AJAX,以下是一个AJAX的手工范例(即不引用任何的Library或AJAX
framework),此范例颇为精要易懂,其作用主要是透过Client 端的Browser来即时监控Web 服务器资源或效能变化,各位只要做过
一遍范例就能够了解AJAX在网页开发上是多么具有威力了。
先来看看效果图:
本范例是一个简单的A ......
php代码:
<?php
$arr = array(1, '刘天才', 22);\
echo json_encode($arr);die();
?>
js:
<script type="text/javascript">
function returnObj( info )
{
var string = info.responseText;
var array = eval( ......
概念:当位于UpdatePanel控件外部的某个控件的特定事件被触发时就引发异步回送并局部更新UpdatePanel控件的内容。
它的好处是:我们只需把需要更新的数据控件放在UpdatePanel控件里,而不需要更新的控件我们就把它放在UpdatePanel控件的外面,如此一来,才可以有效的降低往返于WEB服务器的数据量,并顺势降低WEB服务 ......