ajax的實(shí)踐

題目1:ajax 是什么令蛉?有什么作用狸膏?

AJAX全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML)
ajax是一種在無需重新加載整個(gè)網(wǎng)頁的情況下,能夠更新部分網(wǎng)頁的技術(shù)
ajax是一種用于創(chuàng)建快速動(dòng)態(tài)網(wǎng)頁的技術(shù)迅涮。通過在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換废赞。
ajax可以使網(wǎng)頁實(shí)現(xiàn)異步更新。這意味著可以在不重新加載整個(gè)網(wǎng)頁的情況下叮姑,對網(wǎng)頁的某部分進(jìn)行更新唉地。
而傳統(tǒng)的網(wǎng)頁(不使用ajax)如果需要更新內(nèi)容,必須重載整個(gè)網(wǎng)頁面。

作用:
1渣蜗、頁面無刷新屠尊,用戶的體驗(yàn)非常好旷祸。
  2耕拷、使用異步方式與服務(wù)器通信,具有更加迅速的響應(yīng)能力托享。骚烧。
  3、可以把以前一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端闰围,利用客戶端閑置的能力來處理赃绊,減輕服務(wù)器和帶寬的負(fù)擔(dān),節(jié)約空間和寬帶租用成本羡榴。并且減輕服務(wù)器的負(fù)擔(dān)碧查,ajax的原則是“按需取數(shù)據(jù)”,可以最大程度的減少冗余請求校仑,和響應(yīng)對服務(wù)器造成的負(fù)擔(dān)忠售。
  4、基于標(biāo)準(zhǔn)化的并被廣泛支持的技術(shù)迄沫,不需要下載插件或者小程序稻扬。

題目2:前后端開發(fā)聯(lián)調(diào)需要注意哪些事情?后端接口完成前如何 mock 數(shù)據(jù)羊瘩?

前后端聯(lián)調(diào)是一種真實(shí)業(yè)務(wù)數(shù)據(jù)和本地mock數(shù)據(jù)之間來回切換以達(dá)到前后端分離架構(gòu)下的不同開發(fā)速度時(shí)數(shù)據(jù)交換的一種方式方法

約定事項(xiàng)(前后端達(dá)成一致):

1.接口的類型 get泰佳、post
2.接口的名稱一致

  1. 傳遞參數(shù)是什么
    如 {index:3 , length: 5} http://hdhhj.com?index=3&length=5
  2. 所有交互數(shù)據(jù)的是什么格式存放數(shù)據(jù) 如 json格式字符串

mock數(shù)據(jù)

當(dāng)后端接口沒有完成前尘吗,前端需要模仿后臺(tái)數(shù)據(jù)逝她,以測試處理前端的請求。

使用nodejs搭建一個(gè)web服務(wù)器睬捶,返回我們想要的數(shù)據(jù)
安裝server-mock汽绢,在當(dāng)前的文件夾下創(chuàng)建 router.js,接受處理請求數(shù)據(jù)

題目3:點(diǎn)擊按鈕侧戴,使用 ajax 獲取數(shù)據(jù)宁昭,如何在數(shù)據(jù)到來之前防止重復(fù)點(diǎn)擊?

問題:當(dāng)用戶網(wǎng)速慢,數(shù)據(jù)響應(yīng)緩慢酗宋, 用戶很可能會(huì)多次重復(fù)點(diǎn)擊积仗,希望得到數(shù)據(jù)。而加載過來的數(shù)據(jù)很多蜕猫,而且重復(fù)寂曹。
重復(fù)點(diǎn)擊 請求多次ajax,而且一直請求一塊區(qū)域的內(nèi)容。
解決思路: 阻止用戶的重復(fù)點(diǎn)擊隆圆,第一次點(diǎn)擊時(shí)請求的數(shù)據(jù)該沒到之前漱挚,其他的點(diǎn)擊操作無效,被忽略
設(shè)計(jì)一個(gè)狀態(tài)鎖渺氧,實(shí)時(shí)監(jiān)看響應(yīng)數(shù)據(jù)的情況旨涝,默認(rèn)為有已經(jīng)有響應(yīng)。
當(dāng)點(diǎn)擊按鈕時(shí)侣背,判斷請求是不是響應(yīng)了白华,沒有響應(yīng),則不會(huì)做任何操作贩耐;

var isDataArrive=true;//狀態(tài)鎖  默認(rèn)現(xiàn)在是有響應(yīng)數(shù)據(jù)
 var btn=document.querySelector('#btn')
 var pageIndex=3;

 btn.addEventListener('click', function(e){
     e.preventDefault()
     if(!isDataArrive){   //判斷是不是響應(yīng)了弧腥,沒響應(yīng),退出
         return;
     }
     var xhr = new XMLHttpRequest()
     xhr.onreadystatechange = function(){
         if(xhr.readyState === 4){
             if( xhr.status === 200 || xhr.status == 304){
                 var results = JSON.parse(xhr.responseText)
                 console.log(results)
                 var fragment = document.createDocumentFragment()
                 for(var i = 0; i < results.length; i++){
                     var node = document.createElement('li')
                     node.innerText = results[i]
                     fragment.appendChild(node)
                 }
                 content.appendChild(fragment)
                 pageIndex = pageIndex + 5
             }else{
                 console.log('出錯(cuò)了')
             }
             isDataArrive = true   //當(dāng)前表示是響應(yīng)數(shù)據(jù)狀態(tài)
         }
     }
     xhr.open('get', '/loadMore?index='+pageIndex+'&length=5', true)
     xhr.send()
     isDataArrive = false  //做完數(shù)據(jù)處理潮太,響應(yīng)數(shù)據(jù)后管搪,恢復(fù)到?jīng)]有響應(yīng)數(shù)據(jù)狀態(tài)
 })

題目4:實(shí)現(xiàn)加載更多的功能,效果范例374铡买,后端在本地使用server-mock來模擬數(shù)據(jù)

githu代碼

Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末更鲁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子寻狂,更是在濱河造成了極大的恐慌岁经,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛇券,死亡現(xiàn)場離奇詭異缀壤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)纠亚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門塘慕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蒂胞,你說我怎么就攤上這事图呢。” “怎么了骗随?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵蛤织,是天一觀的道長。 經(jīng)常有香客問我鸿染,道長指蚜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任涨椒,我火速辦了婚禮摊鸡,結(jié)果婚禮上绽媒,老公的妹妹穿的比我還像新娘。我一直安慰自己免猾,他們只是感情好是辕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著猎提,像睡著了一般获三。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上忧侧,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天石窑,我揣著相機(jī)與錄音牌芋,去河邊找鬼蚓炬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛躺屁,可吹牛的內(nèi)容都是我干的肯夏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼犀暑,長吁一口氣:“原來是場噩夢啊……” “哼驯击!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起耐亏,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤徊都,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后广辰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體暇矫,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年择吊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了李根。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡几睛,死狀恐怖房轿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情所森,我是刑警寧澤囱持,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站焕济,受9級特大地震影響纷妆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吼蚁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一凭需、第九天 我趴在偏房一處隱蔽的房頂上張望问欠。 院中可真熱鬧,春花似錦粒蜈、人聲如沸顺献。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽注整。三九已至,卻和暖如春度硝,著一層夾襖步出監(jiān)牢的瞬間肿轨,已是汗流浹背蛤克。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工戳杀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留践付,地道東北人镀首。 一個(gè)月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓一膨,卻偏偏與公主長得像督暂,于是被迫代替她去往敵國和親拨脉。 傳聞我的和親對象是個(gè)殘疾皇子矛市,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理辨赐,服務(wù)發(fā)現(xiàn)优俘,斷路器,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,144評論 25 707
  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,201評論 0 7
  • 出差去過很多地方掀序,突然有一天帆焕,心想要在每個(gè)地方記下腳印。
    帶頭大哥的哥閱讀 246評論 0 1
  • 1.塊級元素和行內(nèi)元素分別有哪些不恭?動(dòng)手測試并列出4條以上的特性區(qū)別 HTML將元素分類方式分為行內(nèi)元素叶雹、塊狀元素和...
    yuhuan121閱讀 240評論 0 0