更新時間:2020-08-20 12:16:04 來源:動力節點 瀏覽1336次
AJAX是有很多用處的,在AJAX菜鳥教程中,會給大家介紹AJAX需要掌握的幾個功能點:
1. 創建原生Ajax對象
XMLHttpRequest 是 AJAX 的基礎,所有現代瀏覽器(IE7+、Firefox、Chrome、Safari 以及 Opera)均內建 XMLHttpRequest 對象。那么我們下面來創建一個ajax對象
const instance = new XMLHttpRequest();
這樣我們就創建了一個用于進行ajax交互的對象。
當然我們這兒提及一下老版本的ie5、ie6的javascript對象都是使用ActiveX來實現的標準,所以沒有XMLHttpRequest對象。他們創建一個對象使用這種方式
const instance = new ActiveXObject("Microsoft.XMLHTTP");
其實我們了解一下就行了,這塊在你的代碼也不用加上了,現在所有的網站應該都放棄了對低版本ie的支持,這個已經退出了歷史舞臺,了解一下情況即可。
2. Ajax發送請求
首先來看一下XMLHttpRequest如何發送一個請求到服務器
const instance = new XMLHttpRequest();
instance.open(method,url,async);
instance.send();
這里用到了兩個方法,第一個open方法其實是配置ajax必要的信息,第二個send才是真正的發起請求到服務器。
3. Ajax通過readyState狀態的變化接收服務器響應
當請求被發送到服務器時,我們需要執行一些基于響應的任務,每當 readyState 改變時,就會觸發 onreadystatechange 事件,readyState 屬性存有 XMLHttpRequest 的狀態信息。
4. 進級苦惱之跨域請求
跨域是所有前端都必須去面對的一個棘手的問題,當你去請求其他服務器的資源時,瀏覽器安全限制會阻止該請求。你的請求不會到底服務器,被瀏覽器阻止了,這也是遵循了同源策略。
那么如何去解決這個跨域呢,通用的有幾種方法,但是核心都是需要服務器去配合處理跨域,前端自己無法處理跨域。
第一個采用JsonP方法,這個方法其實也是需要后臺去配合處理,由后臺來進行請求,然后將數據拼裝在一個json對象返回到前臺,然后前臺通過callback函數來進行操作。這個也比較繁瑣。
第二種就是服務端去放一個跨域文件crossdomain.xml放置到服務器端,然后寫上可以跨域的ip地址。
第三種配置反向代理服務器,通過代理服務器我們也其實是代理服務器去請求外圍,然后轉發到我們的服務器上。這樣也可以防止跨域。
以上就是AJAX菜鳥教程中AJAX需要掌握的幾個功能點,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習