【JS面試】第九章 Ajax

題目
a) 手動編寫一個ajax,不依賴第三方庫
b) 跨域的幾種實現方式
知識點
XMLHttpRequest
var xhr=new XMLHttpRequest();
xhr.open(‘GET’,’/app’,false) //false 異步
xhr.onreadystatechange=function(){
if(xhr.readyState4){
if(xhr.state
200){
alert(xhr.responseText)
}
}
}
xhr.send(null)
IE低版本使用ActiveObject,和W3C不同
狀態碼說明
xhr.readyState4
0 (爲初始化)還沒有調用send方法
1 (載入)已調用send方法,正在發生請求
2 (載入完成)send方法執行完成,已接收到全部相應內容
3 (交互)正在解析相應內容
4* (完成)響應內容解析完成,可以在客戶端調用了
xhr.state
200
2xx 表示成功處理請求 如200
3xx 需要重定向,瀏覽器直接跳轉
4xx 客戶端請求錯誤 如404
5xx 服務端錯誤
跨域
什麼是跨域
瀏覽器有同源策略,不允許ajax訪問其他域接口
跨域條件:協議、域名、端口,有一個不同計算跨域
但是有三個標籤允許跨域加載資源
用於打點統計,統計網站可能是其他域

link script可以使用CDN,CDN的也是其他域

JSONP 服務器端設置http header

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章