ajax常見的面試問題有哪些-創(chuàng)新互聯

本篇文章給大家分享的是有關ajax常見的面試問題有哪些,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯于2013年成立,先為上林等服務建站,上林等地企業(yè),進行企業(yè)商務咨詢服務。為上林企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

1:什么是ajax?ajax作用是什么?

異步的javascript和xml  AJAX 是一種用于創(chuàng)建快速動態(tài)網頁的技術。  ajax用來與后臺交互

2:原生js ajax請求有幾個步驟?分別是什么

//創(chuàng)建 XMLHttpRequest 對象
var ajax = new XMLHttpRequest();
//規(guī)定請求的類型、URL 以及是否異步處理請求。
ajax.open('GET',url,true);
//發(fā)送信息至服務器時內容編碼類型
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
//發(fā)送請求
ajax.send(null);  
//接受服務器響應數據
ajax.onreadystatechange = function () {    if (obj.readyState == 4 && (obj.status == 200 || obj.status == 304)) { 
    }
};

3:json字符串轉換集json對象、json對象轉換json字符串

//字符串轉對象
JSON.parse(json)eval('(' + jsonstr + ')')   
// 對象轉字符串
JSON.stringify(json)

4:ajax幾種請求方式?他們的優(yōu)缺點?

常用的post,get,delete。不常用copy、head、link等等。

###代碼上的區(qū)別
 1:get通過url傳遞參數
 2:post設置請求頭  規(guī)定請求數據類型###使用上的區(qū)別
 1:post比get安全
 (因為post參數在請求體中。get參數在url上面)
 2:get傳輸速度比post快 根據傳參決定的。
 (post通過請求體傳參,后臺通過數據流接收。速度稍微慢一些。而get通過url傳參可以直接獲取)
 3:post傳輸文件大理論沒有限制  get傳輸文件小大概7-8k ie4k左右
 4:get獲取數據	post上傳數據
 (上傳的數據比較多  而且上傳數據都是重要數據。所以不論在安全性還是數據量級 post是最好的選擇)

5:什么情況造成跨域?

同源策略限制 不同源會造成跨域。以下任意一種情況不同,都是不同源。

http://www.baidu.com/8080/index.html

http://協議不同
www子域名不同
baidu.com主域名不同
8080端口號不同
www.baidu.comip地址和網址不同

6:跨域解決方案有哪些?

1:jsonp 只能解決get跨域(問的最多)
  • 原理:動態(tài)創(chuàng)建一個script標簽。利用script標簽的src屬性不受同源策略限制。因為所有的src屬性和href屬性都不受同源策略限制??梢哉埱蟮谌椒掌鲾祿热?。
  • 步驟:
  1. 去創(chuàng)建一個script標簽
  2. script的src屬性設置接口地址
  3. 接口參數,必須要帶一個自定義函數名 要不然后臺無法返回數據。
  4. 通過定義函數名去接收后臺返回數據
//去創(chuàng)建一個script標簽
var  script = document.createElement("script");
//script的src屬性設置接口地址 并帶一個callback回調函數名稱
script.src = "http://127.0.0.1:8888/index.php?callback=jsonpCallback";
//插入到頁面
document.head.appendChild(script);
//通過定義函數名去接收后臺返回數據function jsonpCallback(data){
    //注意  jsonp返回的數據是json對象可以直接使用
    //ajax  取得數據是json字符串需要轉換成json對象才可以使用。
}
2:CORS:跨域資源共享
    需要后臺設置
    Access-Control-Allow-Origin: *              //允許所有域名訪問,或者
    Access-Control-Allow-Origin: http://a.com   //只允許所有域名訪問
    3:設置 document.domain
    • 原理:相同主域名不同子域名下的頁面,可以設置document.domain讓它們同域
    • 限制:同域document提供的是頁面間的互操作,需要載入iframe頁面
    // URL http://a.com/foo
    var ifr = document.createElement('iframe');
    ifr.src = 'http://b.a.com/bar'; 
    ifr.onload = function(){
        var ifrdoc = ifr.contentDocument || ifr.contentWindow.document;
        ifrdoc.getElementsById("foo").innerHTML);
    };
    
    ifr.style.display = 'none';
    document.body.appendChild(ifr);
    4:用Apache做轉發(fā)(逆向代理),讓跨域變成同域

    7:http常見狀態(tài)碼有哪些?

    一: 2開頭狀態(tài)碼
    2xx (成功)表示成功處理了請求的狀態(tài)代碼
    200 (成功) 服務器已成功處理了請求。 通常。
    二: 3開頭狀態(tài)碼
    3xx (重定向) 表示要完成請求,需要進一步操作。 通常,這些狀態(tài)代碼用來重定向。
    304 (未修改) 自從上次請求后,請求的網頁未修改過。 服務器返回此響應時,不會返回網頁內容。
    三: 4開頭狀態(tài)碼
    4xx(請求錯誤) 這些狀態(tài)代碼表示請求可能出錯,妨礙了服務器的處理
    1:400 (錯誤請求) 服務器不理解請求的語法。
     
    2:403 (禁止) 服務器拒絕請求。
    
    3:404 (未找到) 服務器找不到請求的網頁。
    四: 5開頭狀態(tài)碼
    5xx(服務器錯誤)這些狀態(tài)代碼表示服務器在嘗試處理請求時發(fā)生內部錯誤。 這些錯誤可能是服務器本身的錯誤,而不是請求出錯
    500 (服務器內部錯誤) 服務器遇到錯誤,無法完成請求。
    
    501 (尚未實施) 服務器不具備完成請求的功能。 例如,服務器無法識別請求方法時可能會返回此代碼。
    
    502 (錯誤網關) 服務器作為網關或代理,從上游服務器收到無效響應。
    
    503 (服務不可用) 服務器目前無法使用(由于超載或停機維護)。 通常,這只是暫時狀態(tài)。
    
    504 (網關超時) 服務器作為網關或代理,但是沒有及時從上游服務器收到請求。
    
    505 (HTTP 版本不受支持) 服務器不支持請求中所用的 HTTP 協議版本。

    以上就是ajax常見的面試問題有哪些,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯-成都網站建設公司行業(yè)資訊頻道。

    當前名稱:ajax常見的面試問題有哪些-創(chuàng)新互聯
    本文鏈接:http://muchs.cn/article14/hijde.html

    成都網站建設公司_創(chuàng)新互聯,為您提供微信公眾號、域名注冊、手機網站建設、全網營銷推廣網站設計公司、App開發(fā)

    廣告

    聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

    外貿網站制作