前端面試 前端面試題300道

2021-08-28 13:47:34 字數 768 閱讀 9763

jsonp是如何產生的:

1、乙個眾所周知的問題,ajax直接請求普通檔案存在跨域無許可權問題,甭管你是靜態頁面、動態頁面、web伺服器,wcf,只要是跨域請求,一律不准。

2、不過我們又發現,web頁面上呼叫js檔案時則不受是否跨域的影響(不僅如此,我們還發現凡是擁有「src」這個屬性的標籤都擁有跨域的能力,比如script、img、iframe)。

3、於是可以推斷,當前階段想通過純web端跨域訪問資料就只有一種可能,那就是在遠端伺服器上設法將資料裝進js格式的檔案裡,供客戶端呼叫和進一步處理。

4、恰巧我們知道有一種叫做json的純字元資料格式,可以簡潔的描述複雜的資料,更妙的是json還被js原生支援,所以我們可以在客戶端可以隨心所欲的處理這種格式的資料。

5、這樣子解決方法就隨之欲出了,web端通過與呼叫指令碼一模一樣的方式,來呼叫跨域伺服器端動態生成json檔案(一般以json為字尾),顯而易見,服務端之所以要動態生成json檔案,目的就在於把客戶端需要的資料裝進去。

6、客戶端對json檔案獲取成功以後,就獲取到了自己所需要的資料,剩下的就是按照自己的需求進行處理資料和展示了。這種獲取遠端資料的的方式看起來ajax,但其實並不一樣。

7、為了便於客戶端使用資料,逐漸形成一種非正式傳輸協議,人們稱之為jsonp,該協議的乙個要點就是允許使用者傳遞乙個callback引數給伺服器端,然後伺服器端將這個callback引數作為函式名來包裹住json資料,這樣客戶端就可以隨意自定義函式來自動處理返回的資料了。

1、我們知道,哪怕是跨域js中的檔案**,web頁面也可以是無條件進行執行的。

前端面試題

sprites是什麼和為什麼要使用他們?css 精靈 把一堆小的整合到一張大的上,減輕伺服器對的請求數量 有可能替代sprites的方法是什麼?svg圖示,字型圖示,字元編碼等等。1 在div排版的時候,假設現在是100px的寬,我在盒子左側用padding left留個10px的白,div就撐開了...

前端面試題

行內元素有哪些?塊級元素有哪些?空 void 元素有哪些?link和 import的區別是?常見相容性問題?含移動端 html5的離線儲存?描寫一段語義化的html 吧 html5的form如何關閉自動完成功能?什麼是閉包 closure 為什麼要用?localstorage和sessionstor...

前端面試題

朋友碰到的筆試題,在此記錄一下,並且記下碰到的有難點但是自己沒注意的到的面試題!function isnumber x else sum 2,3 5 sum 2 3 5 請寫出sum函式的具體實現。function sum a,c return a c 該題考查的是乙個以前沒接觸過的東西,叫做柯里化...