本篇文章給大家談?wù)刟jax是什么技術(shù),以及ajax有什么用對(duì)應(yīng)的知識(shí)點(diǎn),文章可能有點(diǎn)長(zhǎng),但是希望大家可以閱讀完,增長(zhǎng)自己的知識(shí),最重要的是希望對(duì)各位有所幫助,可以解決了您的問(wèn)題,不要忘了收藏本站喔。
AJAX技術(shù)的弊端是什么什么時(shí)候應(yīng)該使用AJAX
在BAT實(shí)習(xí),用thinkPHP寫(xiě)項(xiàng)目的時(shí)候,曾經(jīng)用過(guò)ajax,剛剛接觸的時(shí)候,簡(jiǎn)直驚為天人。接下來(lái),我們就來(lái)聊聊,ajax在不同場(chǎng)景的優(yōu)劣勢(shì)。
ajax介紹與優(yōu)勢(shì)以及適用場(chǎng)景英文全稱是asynchronousJavaScriptandxml,是一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。要記住,ajax是一種異步的,用于快速創(chuàng)建動(dòng)態(tài)網(wǎng)頁(yè)的技術(shù)。它能夠通過(guò)與后臺(tái)進(jìn)行少量的數(shù)據(jù)交換,使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新。這個(gè)聽(tīng)起來(lái)似乎有點(diǎn)耳熟是不是。我們?cè)?jīng)在之前的回答中聊過(guò)websocket協(xié)議用于在線聊天室。其實(shí)如果不用websocket協(xié)議,而使用ajax輪詢,也能起到相似的效果。
具體舉例子來(lái)說(shuō),和女神正在用網(wǎng)頁(yè)端qq聊天,如果使用普通的http協(xié)議,那么每次想獲取女神的回復(fù)都需要瀏覽器帶著一個(gè)大腦袋的httprequest去問(wèn)服務(wù)器,這樣一方面很慢,一方面又很占帶寬影響網(wǎng)速。如果女神剛好去洗澡了,男孩子只好打開(kāi)視頻網(wǎng)站來(lái)消磨時(shí)間等待女神,如果聊天頁(yè)面使用http請(qǐng)求的話,結(jié)果就是既等不來(lái)女神回復(fù),又發(fā)現(xiàn)視頻一卡一卡的,實(shí)在是很糟糕的體驗(yàn)。
但是如果用ajax輪詢就不一樣了,ajax可以只攜帶很少的數(shù)據(jù)就去與后端交互,獲取數(shù)據(jù)之后,再更改部分頁(yè)面。從結(jié)果上看就是不會(huì)明顯影響帶寬,又能及時(shí)拉回女神的回復(fù)更新在屏幕上。
這個(gè)場(chǎng)景就能看出ajax的優(yōu)勢(shì)也就是適用場(chǎng)景就是數(shù)據(jù)發(fā)生變更時(shí),迅速重新渲染部分HTML,而無(wú)須加載整個(gè)頁(yè)面。
弊端但是如果使用大量的使用ajax,原本的B/S架構(gòu)(browser-server)就會(huì)變成逐漸像C/S(client-server)靠攏。什么是C/S架構(gòu)呢,你把軟件下載安裝到電腦上,比如qq,比如愛(ài)奇藝客戶端,就算C/S架構(gòu)。在瀏覽器環(huán)境下,這種情況就會(huì)帶來(lái)一些問(wèn)題,并且會(huì)影響整個(gè)瀏覽器的使用體驗(yàn)。比如ajax會(huì)要求瀏覽器必須加載完js文件后,才能渲染數(shù)據(jù),因此用戶首次打開(kāi)頁(yè)面的時(shí)候會(huì)發(fā)現(xiàn)加載速度不一致。
綜上,ajax作為一門(mén)先進(jìn)的技術(shù),大幅改進(jìn)了B/S架構(gòu)的使用體驗(yàn),但是如果無(wú)休止且大量的并發(fā)ajax的話,會(huì)是得其反,因?yàn)槲覀冊(cè)谑褂玫臅r(shí)候還是要注意的。
以上是我的淺見(jiàn),如果對(duì)您有幫助歡迎點(diǎn)贊留言。
我是蘇蘇思量,來(lái)自BAT的Java開(kāi)發(fā)工程師,每日分享科技類(lèi)見(jiàn)聞,歡迎關(guān)注我,與我共同進(jìn)步。
前端訪問(wèn)數(shù)據(jù)庫(kù)是不是用的ajax技術(shù)
前端的JS自身可能不能直接連數(shù)據(jù)庫(kù),后端的JS(如Node.js)是可以連數(shù)據(jù)庫(kù)的;如果你想前端JS查數(shù)據(jù)庫(kù),可以用JS發(fā)一個(gè)ajax請(qǐng)后端,后端查詢完數(shù)據(jù)庫(kù)后,把結(jié)果封裝成JSON返回,前端的AJAX回調(diào)函數(shù)中取出JSON對(duì)象,把內(nèi)容更新到網(wǎng)頁(yè)上。示例:123456789101112131415$.ajax({url:"./ajaxdata/findtable.do",method:'POST',dataType:'json',data:{dTyppe:'findid',ID:'001',},success:function(data){//data是返回的對(duì)象,可以data中取出數(shù)據(jù)//輸出內(nèi)容}});
cgi+ajax是什么技術(shù)
1、AJAX不是一種新的編程語(yǔ)言,而是一種用于創(chuàng)建更好更快以及交互性更強(qiáng)的Web應(yīng)用程序的技術(shù),核心對(duì)象XMLHTTPRequest。該對(duì)象是瀏覽器API,支持向http服務(wù)器發(fā)送getpost等http協(xié)議規(guī)定的請(qǐng)求方式。該方式不會(huì)重載頁(yè)面,無(wú)刷新交換數(shù)據(jù)。是客戶端browser與瀏覽器通訊的方式。執(zhí)行宿主在瀏覽器的javascript引擎里面。
2、cgi是服務(wù)器端的一段腳本。該腳本執(zhí)行時(shí)信息輸入來(lái)自管道,服務(wù)器會(huì)把請(qǐng)求輸入重定向到cgi腳本的標(biāo)準(zhǔn)輸入,把cgi腳本的執(zhí)行的標(biāo)準(zhǔn)輸出作為請(qǐng)求的響應(yīng)!cgi也是一種形式上的后臺(tái)接口!
關(guān)于ajax是什么技術(shù)到此分享完畢,希望能幫助到您。