前端面試,AJAX知識(shí)

1、什么是AJAX,為什么要使用Ajax?

AJAX是“Asynchronous JavaScript and XML”的縮寫。他是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。ajax應(yīng)用撐許的優(yōu)勢(shì)在于:(1)通過異步模式,提升了用戶體驗(yàn)。(2) 優(yōu)化了瀏覽器和服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返,減少了帶寬占用。(3)Ajax引擎在客戶端運(yùn)行,承擔(dān)了一部分本來由服務(wù)器承擔(dān)的工作,從而減少了大用戶量下的服務(wù)器負(fù)載。

2、AJAX最大的特點(diǎn)是什么。

Ajax可以實(shí)現(xiàn)動(dòng)態(tài)不刷新(局部刷新),是能在不更新整個(gè)頁面的前提下維護(hù)數(shù)據(jù)。這使得Web應(yīng)用程序更為迅捷地回應(yīng)用戶動(dòng)作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒有改變過的信息。Ajax的核心是JavaScript對(duì)象XmlHttpRequest。該對(duì)象在Internet Explorer 5中首次引入,它是一種支持異步請(qǐng)求的技術(shù)。簡而言之,XmlHttpRequest使您可以使用JavaScript向服務(wù)器提出請(qǐng)求并處理響應(yīng),而不阻塞用戶。通過XMLHttpRequest對(duì)象,Web開發(fā)人員可以在頁面加載以后進(jìn)行頁面的局部更新。

3.AJAX技術(shù)體系的組成部分有哪些。

HTML,css,dom,xml,xmlHttpRequest,javascript。

4.簡要的說明Ajax的操作步驟?

(1)創(chuàng)建xmlhttprequest對(duì)象,var xmlhttp =new XMLHttpRequest();XMLHttpRequest對(duì)象用來和服務(wù)器交換數(shù)據(jù)。

(2)使用xmlhttprequest對(duì)象的open()和send()方法發(fā)送資源請(qǐng)求給服務(wù)器。

(3)使用xmlhttprequest對(duì)象的responseText或responseXML屬性獲得服務(wù)器的響應(yīng)。

(4)onreadystatechange函數(shù),當(dāng)發(fā)送請(qǐng)求到服務(wù)器,我們想要服務(wù)器響應(yīng)執(zhí)行一些功能就需要使用onreadystatechange函數(shù),每次xmlhttprequest對(duì)象的readyState發(fā)生改變都會(huì)觸發(fā)onreadystatechange函數(shù)。onreadystatechange屬性存儲(chǔ)一個(gè)當(dāng)readyState發(fā)生改變時(shí)自動(dòng)被調(diào)用的函數(shù)。readyState屬性,XMLHttpRequest對(duì)象的狀態(tài),改變從0到4,0代表請(qǐng)求未被初始化,1代表服務(wù)器連接成功,2請(qǐng)求被服務(wù)器接收,3處理請(qǐng)求,4請(qǐng)求完成并且響應(yīng)準(zhǔn)備。status屬性,200表示成功響應(yīng),404表示頁面不存在。在onreadystatechange事件中,服務(wù)器響應(yīng)準(zhǔn)備的時(shí)候發(fā)生,當(dāng)readyState==4和status==200的時(shí)候服務(wù)器響應(yīng)準(zhǔn)備。

5.一個(gè)完整的HTTP請(qǐng)求,有幾個(gè)步驟,分別是?

(1)建立TCP連接

(2)web瀏覽器向web服務(wù)器發(fā)送請(qǐng)求命令

(3)web瀏覽器發(fā)送請(qǐng)求頭信息

(4)web服務(wù)器應(yīng)答

(5)web服務(wù)器發(fā)送應(yīng)答頭信息

(6)web服務(wù)器向?yàn)g覽器發(fā)送數(shù)據(jù)

(7)web服務(wù)器關(guān)閉TCP連接

6.一個(gè)完整的實(shí)例

function creatXMLHttpRequest(){

var xmlhttp;

if(window.XMLHttpRequest){

? ? //? IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執(zhí)行代碼

? ? xmlhttp=new XMLHttpRequest();

}

else{

? ? xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

? return xmlhttp;

}

var xmlhttp=new creatXMLHttpRequest();

xmlhttp.onreadystatechange=function(){

? ? if(xmlhttp.readystate==4 && xmlhttp.status==200){

? ? ? ? document.getElementsByTagName(div).innerHTml=xmlhttp.responseText;

? ? }

}

xmlhttp.open("post","url",true);

xmlhttp.sent();

更詳細(xì)的實(shí)例:https://www.cnblogs.com/liushuncheng/p/6901570.html

6. jQuery中的ajax API

jQuery - AJAX load() 方法是簡單但強(qiáng)大的 AJAX 方法,load() 方法從服務(wù)器加載數(shù)據(jù),并把返回的數(shù)據(jù)放入被選元素中。

語法$("selector").load(url,data,callback);必需的?URL?參數(shù)規(guī)定您希望加載的 URL,可選的?data?參數(shù)規(guī)定與請(qǐng)求一同發(fā)送的查詢字符串鍵/值對(duì)集合,可選的?callback?參數(shù)是 load() 方法完成后所執(zhí)行的函數(shù)名稱。

?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • ??2005 年,Jesse James Garrett 發(fā)表了一篇在線文章,題為“Ajax: A new App...
    霜天曉閱讀 943評(píng)論 0 1
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,825評(píng)論 1 45
  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對(duì)象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,569評(píng)論 0 7
  • 本文詳細(xì)介紹了 XMLHttpRequest 相關(guān)知識(shí),涉及內(nèi)容: AJAX、XMLHTTP、XMLHttpReq...
    semlinker閱讀 13,996評(píng)論 2 18
  • 1、ajax技術(shù)的背景 不可否認(rèn),ajax技術(shù)的流行得益于google的大力推廣,正是由于google earth...
    raincoco閱讀 455評(píng)論 0 4

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