1. 程式人生 > >前端面試ajax考點彙總

前端面試ajax考點彙總

1. 手寫一個ajax get方法

var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
    if(xhr.readyState == 4){
        if(xhr.status>=200 &&xhr.status<300 || xhr.status == 304){
            console.log(xhr.responseText);
        }
    }
}
xhr.open('get','https://www.baidu.com',true);
xhr.send(Null);

考點:

  1. 收到響應後,響應的資料會自動填充XHR物件的屬性,因此readState、status和responseText屬性要通過xhr去拿,而不是 回撥函式的引數! 這是很多人容易 犯的一個錯誤。回撥函式傳回來的是event物件,該物件的target屬性指向的次啊是XMLHttpRequest例項。最好也不要通過this去獲取,因為作用域問題,有的瀏覽器中會報錯,因此為了可靠,應使用xhr物件來獲取這些屬性。

  2. readyState屬性都代表什麼?
    0:未初始化。尚未呼叫open()方法;
    1:啟動。已經呼叫open()方法,但是未呼叫send()方法;
    2:傳送。已經呼叫send()方法,但尚未接收到響應;
    3:接收。已經接收到部分響應資料;
    4:完成。已經接收到全部響應資料。

  3. 只要readyState屬性的值由一個變成另一個,就會觸發一個readystatechange事件,因此最好在open()之前制定onreadystatechange事件處理程式。

2 設定頭部資訊

使用setRequestHeader()方法設定自定義的請求頭部資訊。如:
xhr.setRequestHeader(‘MyHeader’,’MyValue’);
必須在open()方法之後,send()方法之前呼叫。

3 post請求,發生表單資料

方法一:
首先設定Content-Type頭部資訊為application/x-www-form-urlencoded;然後對錶單進行序列化處理,建立一個字串,最後傳送字串:

    xhr.open('post','/posturl',true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    var form=document.getElementById('form');
    xhr.send(serialize(form));

方法二:
使用FormData物件,該方法不必設定請求頭部。

var data= new FormData();
data.append('name','value');
//也可以通過項建構函式傳表單元素
var data=new FormDate(document.forms[0])

append()方法接收兩個引數:鍵和值。

4 XMLHttpRequest 2級

  1. formData
  2. 超時設定
    xhr.timeout = 1000
    xhr.ontimeout= function(){}
  3. load事件
    xhr.onload=function(){}
    該方法在接收到完整的響應資料時觸發
  4. abort事件
    呼叫abort()方法觸發
  5. progress事件
    該事件在接收響應期間持續觸發

    xhr.onload=function(event){
    
    }

    event包含三個額外的屬性:lengthComputable、position和totalSize,分別表示進度資訊是否可用(boolean),已經接收的位元組數和總位元組數(根據響應頭部中的Content-Length獲取)

相關推薦

前端面試ajax考點彙總

1. 手寫一個ajax get方法 var xhr=new XMLHttpRequest(); xhr.onreadystatechange=function(){ if(xhr.read

前端面試程式設計題彙總

題目描述: 給定一個學生列表,學生資訊由班級、分數、姓名等組成。請按照下列規則對學生列表進行排序: 按照班級從小到大進行排列 班級相同時,按照成績從大到小排序 班級和成績相同時,按照學生列表中的先後順序排序 輸入:學生列表 輸出:排序後的學生列表

常見前端面試問題彙總2018

轉載請註明來源 ---------------------  作者:MrCris  來源:CSDN  原文:https://blog.csdn.net/weixin_37861326/article/details/80620576?utm_source=copy&nb

前端面試整理彙總100題

1.一些開放性題目 1.自我介紹:除了基本個人資訊以外,面試官更想聽的是你與眾不同的地方和你的優勢。 2.專案介紹 3.如何看待前端開發? 4.平時是如何學習前端開發的? 5.未來三到五年的規劃是怎樣的? position的值, relative和absol

前端面試】談談你對jQuery中的ajax方法的瞭解

什麼是 AJAX? AJAX = 非同步 JavaScript 和 XML(Asynchronous JavaScript and XML)。簡短地說,在不過載整個網頁的情況下,AJAX 通過後臺載入資料,並在網頁上進行顯示。 1. jquery aja

Web前端面試指導(二十九):Ajax 是什麼? 如何建立一個Ajax

題目點評 Ajax 是在工作中是必用的技術,在面試中十有八九會問的,答題的思路最好先回答原生態Ajax使用的步驟,最後告訴面試官,我們在工作中是使用Jquery來實現Ajax請求和處理的。在回答的時候儘量詳盡,包括方法的引數的個數,順序和作用,以免被面試官抓住不放。不給面試

前端面試Ajax和Json

今天面試的兩個公司都有問到這個,不過我雖然沒有對這兩個東西達到精通的程度,但還是記得定義的: Ajax:頁面非同步重新整理方式,在更新頁面內容時,不用跳轉到另外一個頁面就可以實現資料的更新,可以提升頁面的友好度 Json:資料交換方式,它把頁面的陣列轉化為字串,然後再把

(史上最全)Web前端面試試題大全及答案彙總(至篇一HTML與CSS)

1、你做的頁面在哪些流覽器測試過?這些瀏覽器的核心分別是什麼? IE:trident 核心 Firefox:gecko 核心 Safari:webkit 核心 Opera:以前是 presto 核心,Opera 現已改用 Google Chr

慕課網:Web前端面試題目及答案彙總

HTML/CSS部分 1、什麼是盒子模型? 在網頁中,一個元素佔有空間的大小由幾個部分構成,其中包括元素的內容(content),元素的內邊距(padding),元素的邊框(border),元素的外邊距(margin)四個部分。這四個部分佔有的空間中,有的部

前端面試考點多?看這幾篇文章就夠了

金三銀四跳槽季,offer快到碗裡來,前端面試考點眾多,而網上各個知識點的部落格文章又太多,看的眼花繚亂……所以便整理了一下常見知識點的精華文章,每個知識點的文章控制在3篇以內,儘量覆蓋該知識點的下容易被面試到的所有內容,文章都是之前自己讀過的,確定是精華乾貨。文章會一直更新,也歡迎大家推薦精華文章,大家共同

網際網路公司Web前端常見面試題目整理彙總

以下是收集一些面試中經常會遇到的經典面試題以及自己面試過程中有一些未解決的問題,通過對知識的整理以及經驗的總結,重新鞏固自身的前端基礎知識,如有錯誤或更好的答案,歡迎指正,水平有限,望各位不吝指教。:) 回到頂部 HTML/CSS部分 1、什麼是盒子模型? 在網頁中,一個元素佔有空間的大小由幾

Web前端面試指導(十一):樣式導入有哪些方式?

web前端樣式導入方式linkimport使用方式link的使用[css] view plain copy <link href="index.css" rel="stylesheet"> import的使用[css] view plain copy <style type="text/c

Web前端面試指導(十四):如何居中一個元素(正常、絕對定位、浮動元素)?

web前端題目點評這道題目的提問比較多,連續問了三個問題,正常元素、絕對定位元素、互動元素如何居中,而且居中沒有說清楚是垂直居中還是水平居中,要回答清楚這個問題,必須得有深厚的功底,而且要分類的來回答,條理要清楚。可以先把水平居中各種情況說清楚,然後在把垂直居中說清楚。(一)元素水平居中的方式1)行級元素水平

前端面試總結(css)

pan html元素 內容 brush bre 省略號 import als earlier 表格:Cellspacing:單元格間距,cellpadding:單元格內容之間的空隙,colspan:合並列數,rowspan:合並行數,表頭caption,border-sp

前端面試總結(JavaScript)

javascrip 類型 作用域鏈 word doc locals session jsonp 作用域 ajax優缺點 json和jsonP區別 省市聯動 全選 數組去重: 如何消除一個數組裏面重復的元素? // 方法一: var arr1 =[1,2,2,2,3,3,3

Web前端面試指導(十七):一個滿屏 品 字布局 如何設計?

web前端題目點評這道題目有可能是筆試題,有可能面談的時候進行敘述,如果是筆試題要求對css樣式代碼非常熟練,如果是面談敘述,就需要你的表達能力非常強,要抓住要點,把需要用到的技能點講清楚就可以了。需要用到技術1. 元素水平居中對齊1) 使用margin對齊(推薦)2) 使

Web前端面試指導(十八):用純CSS創建一個三角形的原理是什麽?

web前端題目點評三角形的圖標在網頁設計是很常見的,屬於基本常識題,只要在練習做到過這個功能都能回答出來,可以把你做過的思路描述出來就可以了,本題的難易程度為簡單本文出自 “智學無憂1” 博客,轉載請與作者聯系!Web前端面試指導(十八):用純CSS創建一個三角形的原理是什麽?

前端開發--ajax

參數錯誤 接收 三個參數 流程 結果 前端 change isset 開發工程師 使用ajax,他是有兩個模塊的,一個是客戶端,一個是服務端。 客戶端負責發送數據,發送數據的方式有兩種,一種是GET,另一種是POST。

前端面試的一道算法題

txt 獲得 on() 位數組 cimage 說了 pack -c new (使用canvas解答) 下面說一個跟前端有點相關並且有點趣的一道算法題。 題目: 平面上有若幹個不特定的形狀,如下圖所示。請寫程序求出物體的個數,以及每個不同物體的面積。 分析 想要知道

前端面試問題css匯總

相加 mar num 資源下載 服務端 color 長度 前端 最大的 1,行內元素有哪些?塊級元素有哪些?空元素有哪些?CSS的盒模型?     塊級元素:div p h1 h2 h3 h4 form ul li  行內元素: a b br i span input se