所有現代瀏覽器均支援 xmlhttprequest 物件(ie5 和 ie6 使用 activexobject)。
建立xmlhttprequest物件:
var ajax = new xmlhttprequest();
ie5和ie6使用activexobject物件:
var ajax = new activexobject("microsoft.xmlhttp");
相容寫法:
2.傳送請求
將請求傳送到伺服器,使用 xmlhttprequest 物件的 open() 和 send() 方法:
ajax.open(method,url,async);
//連線伺服器
ajax.send();//傳送請求
open()方法接收3個引數,第乙個引數method代表請求的型別,有get和post兩種。第二個引數url是請求檔案的路徑。第三個引數代表非同步(true)或同步(false)處理。
get與post:
與 post 相比,get 更簡單也更快,並且在大部分情況下都能用。
然而,在以下情況中,請使用 post 請求:
3.伺服器響應
如需獲得來自伺服器的響應,請使用 xmlhttprequest 物件的 responsetext 或 respon***ml 屬性。
responsetext 屬性
如果來自伺服器的響應並非 xml,使用 responsetext 屬性。responsetext 屬性返回字串形式的響應。
return ajax.responsetext;
如果來自伺服器的響應是 xml,而且需要作為 xml 物件進行解析,需要使用 respon***ml 屬性。
return ajax.respon***ml;
4.readystate
onreadystatechange 事件
當請求被傳送到伺服器時,我們需要執行一些基於響應的任務。每當 readystate 改變時,就會觸發 onreadystatechange 事件。
readystate 屬性存有 xmlhttprequest 的狀態資訊,它的值從0到4發生變化。
status屬性表示請求的狀態:當 readystate 等於 4 且status為 200 時,表示響應已就緒。
ajax.onreadystatechange=function
()else
}
function
ajax
(url,fnsucc,fnfail)else
ajax.open('get',url,true);//鏈結伺服器
ajax.send();//傳送請求
//接收返回
ajax.onreadystatechange=function
()else}}
ajax函式的使用:
ajax('***.txt?t='+new
date().gettime(),function
(str),function
());
其中的url位址後面加上?t=new date().gettime()用來阻止瀏覽器的快取。
JS 事件基礎
1.什麼是事件 事件分為兩部分 element.event dom0級事件繫結 addeventlistener dom2級事件繫結 element.addeventlistener這個屬性是定義在當前元素所屬eventtarget這個類的原型上的 事件物件及相容處理 onclick的e 原型鏈 m...
JS基礎 事件物件
onmousemove 該事件將會在滑鼠在元素中移動時被觸發 事件物件 當事件的響應函式被觸發時,瀏覽器每次都會將乙個事件物件作為實參傳遞進響應函式,在事件物件中封裝了當前事件相關的一切資訊,比如 滑鼠的座標鍵盤哪個按鍵被按下滑鼠滾輪滾動的方向。在ie8中,響應函式被觸發時,瀏覽器不會傳遞事件物件,...
js基礎 事件物件
當事件的響應函式被觸發時,瀏覽器每次都會將乙個事件物件作為實參傳遞進響應函式中。在事件物件中封裝了當前事件相關的一切資訊。比如 滑鼠的座標,鍵盤哪個按鍵被按下 滑鼠滾輪滾動的方向。事件物件.clientx可以獲取滑鼠指標的水平座標。獲取滑鼠在當前可見的視窗的座標 獲取的偏移量是相對於當前瀏覽器可見視...