1、什么是 AJAX ?
AJAX = 異步 JavaScript 和 XML,
AJAX 是一種用于創建快速動態網頁的技術,
2、Ajax的原理:
簡單來說就是 通過XmlHttpRequest物件向服務器發異步請求,從服務器獲得資料,然后用 javascript 來操作DOM更新頁面的技術,
3、原生JS創建Ajax的五個步驟:
1.創建XMLHTTPRequest物件
2.使用open方法設定和服務器的互動資訊
3.設定發送的資料,開始和服務器端互動
4.注冊事件
5.更新界面
//創建 XMLHttpRequest 物件
var ajax = new XMLHttpRequest();
//規定請求的型別、URL 以及是否異步處理請求,
ajax.open('GET',url,true);
//發送資訊至服務器時內容編碼型別
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//發送請求
ajax.send(null);
//接受服務器回應資料
ajax.onreadystatechange = function () {
if (obj.readyState == 4 && (obj.status == 200 || obj.status == 304)) {
}
};
4、:json字串轉換集json物件、json物件轉換json字串
//字串轉物件
JSON.parse(json)
eval('(' + jsonstr + ')')
// 物件轉字串
JSON.stringify(json)
5、ajax幾種請求方式?他們的優缺點?
常用的post,get,delete,不常用copy、head、link等等,
代碼上的區別
1:get通過url傳遞引數
2:post設定請求頭 規定請求資料型別
使用上的區別
1:post比get安全
(因為post引數在請求體中,get引數在url上面)
2:get傳輸速度比post快 根據傳參決定的,
(post通過請求體傳參,后臺通過資料流接收,速度稍微慢一些,而get通過url傳參可以直接獲取)
3:post傳輸檔案大理論沒有限制 get傳輸檔案小大概7-8k ie4k左右
4:get獲取資料 post上傳資料
(上傳的資料比較多 而且上傳資料都是重要資料,所以不論在安全性還是資料量級 post是最好的選擇)
6、什么情況造成跨域?
同源策略限制 不同源會造成跨域,以下任意一種情況不同,都是不同源,

7、跨域解決方案有哪些?參考跨域解決方案.
1、 通過jsonp跨域
2、 document.domain + iframe跨域
3、 location.hash + iframe
4、 window.name + iframe跨域
5、 postMessage跨域
6、 跨域資源共享(CORS)
7、 nginx代理跨域
8、 nodejs中間件代理跨域
9、 WebSocket協議跨域
1)JSONP跨域
jsonp 的原理就是利用 <script>標簽沒有跨域限制,通過 <script>標簽src屬性,發送帶有callback引數的GET請求,服務端將介面回傳資料拼湊到callback函式中,回傳給瀏覽器,瀏覽器決議執行,從而前端拿到callback函式回傳的資料,
<script>
var script = document.createElement('script');
script.type = 'text/javascript';
// 傳參一個回呼函式名給后端,方便后端回傳時執行這個在前端定義的回呼函式
script.src = 'http://www.domain2.com:8080/login?user=admin&callback=handleCallback';
document.head.appendChild(script);
// 回呼執行函式
function handleCallback(res) {
alert(JSON.stringify(res));
}
</script>
jsonp缺點:只能實作get一種請求,
6)跨域資源共享(CORS)
原理:服務器設定Access-Control-Allow-Origin HTTP回應頭之后,瀏覽器將會允許跨域請求,若要帶cookie請求:前后端都需要設定
限制:瀏覽器需要支持HTML5,可以支持POST,PUT等方法兼容ie9以上
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/292052.html
標籤:其他
上一篇:Node-概述、基礎語法
