這篇文章主要介紹了Fetch怎么使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Fetch怎么使用文章都會有所收獲,下面我們一起來看看吧。
fetch號稱是AJAX的替代品,是在ES6出現的,使用了ES6中的promise對象。Fetch是基于promise設計的。Fetch的代碼結構比起ajax簡單多了,參數有點像jQuery ajax。但是,一定記住fetch不是ajax的進一步封裝,而是原生js,沒有使用XMLHttpRequest對象。
ajax
使用步驟
1.創建XmlHttpRequest對象
2.調用open方法設置基本請求信息
3.設置發送的數據,發送請求
4.注冊監聽的回調函數
5.拿到返回值,對頁面進行更新
//1.創建Ajax對象 if(window.XMLHttpRequest){ var oAjax=new XMLHttpRequest(); }else{ var oAjax=new ActiveXObject("Microsoft.XMLHTTP"); } //2.連接服務器(打開和服務器的連接) oAjax.open('GET', url, true); //3.發送 oAjax.send(); //4.接收 oAjax.onreadystatechange=function (){ if(oAjax.readyState==4){ if(oAjax.status==200){ //alert('成功了:'+oAjax.responseText); fnSucc(oAjax.responseText); }else{ //alert('失敗了'); if(fnFaild){ fnFaild(); } } } };
fetch
特點
1、第一個參數是URL:
2、第二個是可選參數,可以控制不同配置的 init 對象
3、使用了 JavaScript Promises 來處理結果/回調:
fetch(url).then(response => response.json()) .then(data => console.log(data)) .catch(e => console.log("Oops, error", e))
更酷的一點 你可以通過Request構造器函數創建一個新的請求對象,你還可以基于原有的對象創建一個新的對象。 新的請求和舊的并沒有什么不同,但你可以通過稍微調整配置對象,將其用于不同的場景。例如:
var req = new Request(URL, {method: 'GET', cache: 'reload'}); fetch(req).then(function(response) { return response.json(); }).then(function(json) { insertPhotos(json); });
上面的代碼中我們指明了請求使用的方法為GET,并且指定不緩存響應的結果,你可以基于原有的GET請求創建一個POST請求,它們具有相同的請求源。代碼如下:
// 基于req對象創建新的postReq對象 var postReq = new Request(req, {method: 'POST'});
fetch和ajax 的主要區別
1、fetch()返回的promise將不會拒絕http的錯誤狀態,即使響應是一個HTTP 404或者500
2、在默認情況下 fetch不會接受或者發送cookies
關于“Fetch怎么使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Fetch怎么使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。