AJAX简介:Asynchronous JavaScript And XML(异步 JavaScript 以及 XML)
AJAX是不是一种编程语言,是一种新的技术,可以创建更好的,更快的且交互性更强的web应用程序。
AJAX使用JavaScript 在web浏览器与服务器之间来发送和接受数据。
通过在幕后与web服务器交换数据,而不是每当用户做出改变时重载整个web页面,AJAX技术可以使网页更迅速地响应。
在 AJAX 中使用的开放标准被良好地定义,并得到所有主要浏览器的支持。AJAX 应用程序独立于浏览器和平台。(可以说,它是一种跨平台跨浏览器的技术)。
AJAX 事关更好的 Internet 应用程序
与桌面应用程序相比,Web 应用程序有很多优势:
- 可拥有更多用户
- 更容易安装和维护
- 更容易开发
但是, 应用程序不总是象传统应用程序那样强大和友好。
通过 AJAX,可以使 Internet 应用程序更加强大(更轻巧、更快速,且更易使用)。
AJAX 基于开放的标准。而这些标准已被大多数开发者使用多年。
重要: 大多数 web 应用程序可通过使用 AJAX
技术进行重写,来替代传统的 HTML 表单
。
AJAX 使用 XML 和 HTTP 请求
传统的 web 应用程序会把数据提交到 web 服务器(使用 HTML 表单)。在 web 服务器把数据处理完毕之后,会向用户返回一张完整的新网页。
由于每当用户提交输入,服务器就会返回新网页,传统的 web
应用程序往往运行缓慢,且越来越不友好。
通过 AJAX
,web
应用程序无需重载网页,就可以发送并取回数据。完成这项工作,需要通过向服务器发送 HTTP
请求(在幕后),并通过当服务器返回数据时使用 JavaScript
仅仅修改网页的某部分。 (不像表单提交,返回新的网页)
一般使用 XML
作为接收服务器数据的格式,尽管可以使用任何格式,包括纯文本。
PHP 和 AJAX
AJAX
是一种在浏览器运行的技术。它使用浏览器与 web
服务器之间的异步数据传输,使网页从服务器请求少量的信息,而不是整张页面。
AJAX
是一种独立于 web
服务器软件的 web
浏览器技术。
AJAX XMLHttpRequest
XMLHttpRequest 对象是 AJAX 的关键。
创建 XMLHttpRequest 对象:
不同的浏览器使用不同的方法来创建 XMLHttpRequest
对象。
Internet Explorer 使用 ActiveXObject
。
其他浏览器使用名为 XMLHttpRequest
的 JavaScript 内建对象。
var XMLHttp=null
if (window.XMLHttpRequest)
{
XMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
AJAX Suggest
Suggest 就是那种百度搜索中,比如输入一个字,返回一些建议上搜索。
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML=""
return
}
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="gethint.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}