摘要:如果我們假設(shè)文件和文件位于相同的目錄,那么代碼是這樣的其他方法如下編程步驟創(chuàng)建對象設(shè)置請求方式調(diào)用回調(diào)函數(shù)發(fā)送請求處理返回的結(jié)果創(chuàng)建對象一般來說手寫的時候,首先需要判斷該瀏覽器是否支持對象,如果支持則創(chuàng)建該對象,如果不支持則創(chuàng)建對象。
Ajax的簡介 什么是Ajax
AJAX = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)。
AJAX 不是新的編程語言,而是一種使用現(xiàn)有標(biāo)準(zhǔn)的新方法。
AJAX 可以在不重新加載整個網(wǎng)頁的情況下,與服務(wù)器交換數(shù)據(jù),并且更新部分網(wǎng)頁
。
AJAX 的核心是 XMLHttpRequest 對象。
1.使用CSS和XHTML來表示。
2.使用DOM模型來交互和動態(tài)顯示。
3.使用XMLHttpRequest來和服務(wù)器進(jìn)行異步通信。
4.使用javascript來綁定和調(diào)用。
Ajax的工作原理在用戶和服務(wù)器之間添加了一個中間層(AJAX引擎),使用戶操作與服務(wù)器響應(yīng)異步話,并不是所有的用戶請求都提交給服務(wù)器。
數(shù)據(jù)驗證和數(shù)據(jù)處理等都交給Ajax引擎自己來做,只有確定需要從服務(wù)器讀取新數(shù)據(jù)時再由Ajax引擎代為向服務(wù)器提交請求
來看看兩個方式的區(qū)別
XMLHttpRequ對象常用的三個屬性onreadystatechange屬性
存有服務(wù)器響應(yīng)的參數(shù)
readyState屬性
存有服務(wù)器響應(yīng)狀態(tài)的信息
readyState 屬性可能的值:
responseText 屬性
可以取得有服務(wù)器返回的數(shù)據(jù)
其他的屬性如下
xmlhttprequst的方法open()方法
xmlHttp.open("GET","test.php",true);
第一個參數(shù)定義發(fā)送請求所使用的方法
第二個參數(shù)規(guī)定服務(wù)器腳本的URL
第三個參數(shù)規(guī)定了請求是否需要異步的處理
send()方法
send() 方法將請求送往服務(wù)器。如果我們假設(shè) HTML 文件和 PHP 文件位于相同的目錄,那么代碼是這樣的:
xmlHttp.send(null);
其他方法如下
AJAX編程步驟1.創(chuàng)建XMLHttpRequest對象創(chuàng)建XMLHttpRequest對象
2.設(shè)置請求方式
3.調(diào)用回調(diào)函數(shù)
4.發(fā)送請求
5.處理返回的結(jié)果
var xmlhttp=new XMLHttpRequest();
一般來說手寫AJAX的時候,首先需要判斷該瀏覽器是否支持XMLHttpRequest對象,如果支持則創(chuàng)建該對象,如果不支持則創(chuàng)建ActiveX對象。
//第一步:創(chuàng)建XMLHttpRequest對象 var xmlHttp; if (window.XMLHttpRequest) { //非IE xmlHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { //IE xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") }設(shè)置請求方式
一般是有兩種請求方式,一個是GET一個是POST,需要設(shè)置具體使用哪個請求方式
xmlhttp.open("method",URL,async);
參數(shù)如下
調(diào)用回調(diào)函數(shù)當(dāng)前為異步請求的時候,需要寫一個回調(diào)函數(shù),XMLHttpRequest對象有一個屬性,這個屬性要返回一個匿名的方法,所謂的回調(diào)函數(shù),就是請求在后臺處理完,再返回到前臺所實現(xiàn)的功能。
xmlhttp.onreadystatechange = function (ev2) { /* 0: 請求未初始化 1: 服務(wù)器連接已建立 2: 請求已接收 3: 請求處理中 4: 請求已完成,且響應(yīng)已就緒 */ if(xmlhttp.readyState === 4){ // 判斷是否請求成功 if(xmlhttp.status >= 200 && xmlhttp.status < 300 || xmlhttp.status === 304){ // 5.處理返回的結(jié)果 console.log("接收到服務(wù)器返回的數(shù)據(jù)"); }else{ console.log("沒有接收到服務(wù)器返回的數(shù)據(jù)"); } } }發(fā)送請求
xmlhttp.send ##處理返回的結(jié)果
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/110315.html
摘要:如果我們假設(shè)文件和文件位于相同的目錄,那么代碼是這樣的其他方法如下編程步驟創(chuàng)建對象設(shè)置請求方式調(diào)用回調(diào)函數(shù)發(fā)送請求處理返回的結(jié)果創(chuàng)建對象一般來說手寫的時候,首先需要判斷該瀏覽器是否支持對象,如果支持則創(chuàng)建該對象,如果不支持則創(chuàng)建對象。 Ajax的簡介 什么是Ajax AJAX = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)...
摘要:函數(shù)會在之后的某個時刻觸發(fā)事件定時器。事件循環(huán)中的這樣一次遍歷被稱為一個。執(zhí)行完畢并出棧。當(dāng)定時器過期,宿主環(huán)境會把回調(diào)函數(shù)添加至事件循環(huán)隊列中,然后,在未來的某個取出并執(zhí)行該事件。 原文請查閱這里,略有改動。 本系列持續(xù)更新中,Github 地址請查閱這里。 這是 JavaScript 工作原理的第四章。 現(xiàn)在,我們將會通過回顧單線程環(huán)境下編程的弊端及如何克服這些困難以創(chuàng)建令人驚嘆...
摘要:回調(diào)大多出現(xiàn)在請求,用于處理收到的請求結(jié)果。回調(diào)函數(shù)和異步一開始我被回調(diào)和異步有點搞暈了。異步編程的實現(xiàn)就我目前知道兩種回調(diào)函數(shù)和事件監(jiān)聽,其實看了阮神的異步編程的文章和下面的評論之后得出的理解。為了不影響的執(zhí)行,我們可以把寫成的回調(diào)函數(shù)。 前言 一個剛?cè)肭岸说男〔耍m然以前看到過關(guān)于回調(diào)的文章,但是呢,理解起來有點費(fèi)勁啊。當(dāng)時的腦海里就一個概念。 回調(diào):大多出現(xiàn)在Ajax請求,用于處...
摘要:同源策略在中有一個很重要的安全性限制,被稱為同源策略。然而,當(dāng)進(jìn)行一些比較深入的前端編程的時候,不可避免地需要進(jìn)行跨域操作,這時候同源策略就顯得過于苛刻。 JSONP原理 JSON和JSONP JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式。對于JSON大家應(yīng)該是很了解了吧,不是很清楚的朋友可以去json.org上了解下,簡單易懂。 ...
閱讀 3714·2021-11-11 11:00
閱讀 2190·2021-10-08 10:05
閱讀 2703·2021-10-08 10:04
閱讀 3218·2021-09-30 09:48
閱讀 3801·2021-09-27 14:10
閱讀 1710·2021-09-09 09:33
閱讀 2106·2019-08-30 15:55
閱讀 1611·2019-08-30 13:53