回顧AJAX

話說,昨天四級(jí),額,紅燈籠?我是這樣翻譯的: red light ball 。嗯,很合理,寥寥3個(gè)單詞完美詮釋了紅燈籠的各個(gè)特性,顏色,物理特性,形狀??胺Q完美!我都服我自己了.....(鬼畜中)

不說了不說了。來講講ajax。額,雖然ajax已經(jīng)存在了很久并且自己也一直再用,但是當(dāng)中的一些細(xì)節(jié)自己還是沒怎么去了解。

今天打算好好梳理一下,順便講講如何寫更好的ajax。

What is AJax

首先AJax并不是什么新技術(shù),它只是XMLHttpRequest對(duì)象和JS,XML,CSS,DOM等許多技術(shù)的組合。Ajax干的最有意義的事就是跟服務(wù)器交互進(jìn)行業(yè)務(wù)處理的時(shí)候不需要重新刷新頁面。

Ajax的常用屬性和方法

與其說是Ajax的常用屬性和方法,倒不如說是XMLHttpRequest對(duì)象的常用方法和屬性,其中有挺多都是平時(shí)使用的時(shí)候容易被忽略的。比如request.open("MethodType",...)這種經(jīng)常使用的方法這里就不說明了。

Method:

setRequestHeader("","")

雖然設(shè)置請(qǐng)求頭方法也比較常見,但是我最近才發(fā)現(xiàn)這個(gè)方法必須在open()方法之后才能調(diào)用生效。

abort()

該方法用于停止和放棄當(dāng)前的異步請(qǐng)求。

getAllResponeHeaders()

獲取以字符串形式返回的完整的HTTP頭信息。

Property

?readyState

status


Js中的異步

為了更好的理解JS異步編程和Ajax的實(shí)現(xiàn)原理,強(qiáng)烈建議回顧一下下面這篇東西。

https://mp.weixin.qq.com/s?__biz=MzU5NzAyMDg3NQ==&mid=2247486602&idx=1&sn=a0bccb384630941788f03c94c2745e26&chksm=fe58952ec92f1c38bc7216244c8a0a818cf8eacb29df7a38deb4ef2d2c1f756e255b20facc96&token=261055798&lang=zh_CN#rd


什么是“比較好”的Ajax

在著手寫構(gòu)造一個(gè)Ajax的時(shí)候,你應(yīng)該有意的遵循下列幾點(diǎn):

1.非過度嵌套。

2.較好的可讀性。

3.控制性好等。

一般封裝

或者

更加完善的

在ajax請(qǐng)求的各個(gè)過程中可能都會(huì)產(chǎn)生錯(cuò)誤,如果你希望你的代碼更加嚴(yán)謹(jǐn),能應(yīng)付更加復(fù)雜的網(wǎng)絡(luò)環(huán)境,你也可以監(jiān)聽它的各個(gè)過程的事件。

值得一提的是,如果你希望想你的用戶展示,你現(xiàn)在的請(qǐng)求狀態(tài)(直觀的進(jìn)度),特別是一些比較復(fù)雜和比較耗時(shí)的業(yè)務(wù)處理的時(shí)候,為了避免用戶以為程序久久沒有“響應(yīng)”(感覺上)而退出。你可以在progress方法中監(jiān)聽請(qǐng)求的進(jìn)度(如下圖)。

最后

?隨著js的應(yīng)用越來越廣泛,js大法好,你會(huì)遇到越來越來的異步,希望這篇東西對(duì)你有一點(diǎn)點(diǎn)幫助,并來個(gè)贊??。哈哈哈。

今天是父親節(jié),祝天下的父親,父親節(jié)快樂~

夏天快樂~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,804評(píng)論 1 45
  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對(duì)象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,561評(píng)論 0 7
  • 一、Ajax是什么 Ajax:全稱是“Asynchronous Javascript And Xml”,翻譯成...
    前端攻城獅子王閱讀 619評(píng)論 0 4
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,847評(píng)論 0 3
  • 本來準(zhǔn)備十點(diǎn)前就入睡的,這樣打算已經(jīng)有兩個(gè)月了,但真正實(shí)施起來不超過一周。 雞湯總是告訴我們婚姻其實(shí)有幸福的可能,...
    monica文靜閱讀 486評(píng)論 0 0

友情鏈接更多精彩內(nèi)容