手動編寫AJAX過程

2022-09-13 02:36:09 字數 1458 閱讀 4496

ajax 全稱: asynchronous j**ascript and xml(非同步的 j**ascript 和 xml)。

之前在學校沒認真學過,只知道ajax就代表區域性重新整理,能提高效率。

最近一直接觸web方面的專案,遂到網上找了找相關知識,記錄一下。

現有理解又多了一下,ajax相當於在客戶端和伺服器中間又多了一層,打個比方,你去租房,你可以自己去牆上找小廣告打**問房東然後看房,也可以去找中介說明你的要求然後直接給你安排好。ajax就相當於這個中介。在沒有這項技術之前,前台需要等待後台完成當前操作後才能響應,這可能會引起應用程式掛起或停止;現在有了非同步技術後,將當前請求傳送到伺服器後,可繼續執行其他指令碼,當響應就緒後再對響應進行處理。

建立乙個ajax分為大致下列4個步驟

建立xmlhttprequest物件。

設定請求方式。

呼叫**函式。

傳送請求。

判斷瀏覽器是否支援xmlhttprequest物件36

else

if(window.activexobject)//

否則建立activex物件

open方法有三個引數,分別是請求方式,請求位址,是否非同步。

請求方式有get和post,位址就是指向你想呼叫的伺服器方法,true代表非同步。

客戶端向伺服器傳送請求後,要得知道伺服器那邊啥時候返回吧,返回什麼東西吧,這時候就需要註冊個**函式來取資料,這裡要用到onreadystatechange方法

這裡參照別人的判斷來寫的,readystate表示xmlhttprequest 的狀態:從 0 到 4 發生變化。0: 請求未初始化。1: 伺服器連線已建立。2: 請求已接收。3: 請求處理中。4: 請求已完成,且響應已就緒。

xmlhttp.status掉包伺服器返回結果, 200代表伺服器那邊成功返回。

var params = "username='user'&password=123456";//

引數

向請求新增 http 頭,post如果有資料一定加加!!!!

我們此次用的是get方法,可以忽略掉第二行,如果需要像 html 表單那樣 post 資料,請使用 setrequestheader() 來新增 http 頭。然後在 send() 方法中規定您希望傳送的資料。

看完了一篇介紹ajax的文章,寫的還不錯然後也自己試了一次,一遍跑成功了

手動封裝AJAX

呼叫順序 呼叫f3函式,輸出2次33333,然後呼叫f2函式,輸出2次22222,呼叫f1函式,輸出5次1111111 f1的 執行完成後會回到被呼叫的位置接著執行 此時輸出3次222222,然後回到f2被呼叫的位置,輸出3次333 呼叫順序 呼叫getresult時傳入3個引數,第3個是乙個匿名函...

sqlite 手動編寫 rank 函式

專案一開始定義使用輕量級資料庫sqlite來處理資料,用著用著發現想要做個排序功能 卻發現sqlite沒有現成的排序函式rank 等等,使用排序後臨時表的rowid也不行,查詢的出來的rowid是真實資料的,並不是臨時表 這個節點換資料庫就不現實,函式不也是底層邏輯組合起來的麼,只能自己動手豐衣足食...

mysql過程編寫 mysql儲存過程編寫(一)

首先需要知道mysql儲存過程的作用 1 儲存過程能實現較快的執行速度 2 儲存過程能過減少網路流量 3 儲存過程可被作為一種安全機制來充分利用 儲存過程的格式 create procedure 儲存過程名 過程引數 特性引數 begin endeg delimiter create procedu...