AJAX簡介:Asynchronous JavaScript And XML(異步 JavaScript 以及 XML)
AJAX是不是一種編程語言昔搂,是一種新的技術摘符,可以創(chuàng)建更好的逛裤,更快的且交互性更強的web應用程序猴抹。
AJAX使用JavaScript 在web瀏覽器與服務器之間來發(fā)送和接受數據。
通過在幕后與web服務器交換數據蟀给,而不是每當用戶做出改變時重載整個web頁面,AJAX技術可以使網頁更迅速地響應择克。
在 AJAX 中使用的開放標準被良好地定義肚邢,并得到所有主要瀏覽器的支持拭卿。AJAX 應用程序獨立于瀏覽器和平臺。(可以說峻厚,它是一種跨平臺跨瀏覽器的技術)。
AJAX 事關更好的 Internet 應用程序
與桌面應用程序相比浦夷,Web 應用程序有很多優(yōu)勢:
- 可擁有更多用戶
- 更容易安裝和維護
- 更容易開發(fā)
但是, 應用程序不總是象傳統應用程序那樣強大和友好剃执。
通過 AJAX,可以使 Internet 應用程序更加強大(更輕巧肾档、更快速怒见,且更易使用)姑宽。
AJAX 基于開放的標準。而這些標準已被大多數開發(fā)者使用多年舵变。
重要: 大多數 web 應用程序可通過使用 AJAX
技術進行重寫瘦穆,來替代傳統的 HTML 表單
。
AJAX 使用 XML 和 HTTP 請求
傳統的 web 應用程序會把數據提交到 web 服務器(使用 HTML 表單)绵咱。在 web 服務器把數據處理完畢之后熙兔,會向用戶返回一張完整的新網頁。
由于每當用戶提交輸入住涉,服務器就會返回新網頁秆吵,傳統的 web
應用程序往往運行緩慢,且越來越不友好。
通過 AJAX
泻拦,web
應用程序無需重載網頁,就可以發(fā)送并取回數據争拐。完成這項工作晦雨,需要通過向服務器發(fā)送 HTTP
請求(在幕后)闹瞧,并通過當服務器返回數據時使用 JavaScript
僅僅修改網頁的某部分展辞。 (不像表單提交,返回新的網頁)
一般使用 XML
作為接收服務器數據的格式洽腺,盡管可以使用任何格式蘸朋,包括純文本。
PHP 和 AJAX
AJAX
是一種在瀏覽器運行的技術藕坯。它使用瀏覽器與 web
服務器之間的異步數據傳輸噪沙,使網頁從服務器請求少量的信息曲聂,而不是整張頁面。
AJAX
是一種獨立于 web
服務器軟件的 web
瀏覽器技術朋腋。
AJAX XMLHttpRequest
XMLHttpRequest 對象是 AJAX 的關鍵旭咽。
創(chuàng)建 XMLHttpRequest 對象:
不同的瀏覽器使用不同的方法來創(chuàng)建 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)
}