fetchjs的全面解析

一、fetchJSON_comment98

fetchjs是一個封裝了fetch API的JavaScript庫,其目的是簡化fetch API的使用。fetchjs可以解決個別瀏覽器對fetch API的不兼容性問題並實現了一些實用方法,支持JSONP、表單提交、文件上傳、流下載等多種功能。fetchjs也可以使用查詢參數來指定響應數據的格式,避免了手動解析響應數據的麻煩。

fetchJSON_comment98是fetchjs中一個常用方法。該方法通過jsonp請求獲取響應數據。使用fetchjs的fetchJSON_comment98方法請求數據時,只需要提供一個url和回調函數即可。下面是fetchJSON_comment98的具體使用方式:

fetch.fetchJSON_comment98(url, function (response) {
  console.log(response);
});

fetchJSON_comment98方法接受兩個參數。第一個參數為API的url,該url需要跨域,第二個參數為回調函數,用於處理服務器返回的數據。在回調函數中,可以進行數據的處理和展示,比如上述代碼中的console.log就是將響應數據輸出到控制台。

二、fetch用法

fetchjs的使用和fetch API的使用非常類似。fetch方法接受一個URL參數,並返回一個Promise對象。該Promise會在響應時resolve。對於請求的 HTTP 錯誤狀態,即使 HTTP 200 也是在允許範圍之外的。此時fetch也會resolve promise,只是在 response 對象上標記一個 ok 屬性為 false。

fetch 還支持另外一個參數,init,用來自定義請求。從fetch開發者工具看,你可以發現,實際發起的請求中大量使用了一種新的header:fetch請求頭。比如,可以通過以下方式設置請求頭:

fetch('/example', {
  headers: {
    'header1': 'value1',
    'header2': 'value2'
  }
})

fetch 還支持ES6的Promise,這讓異步網絡操作更加容易處理:

fetch('/todos')
  .then(response => response.json())
  .then(data => console.log(data));

fetch也支持post請求,將HTTP方法設置為POST:

fetch(url, {
  method: 'POST',
  body: JSON.stringify(data),
  headers:{
    'Content-Type': 'application/json'
  }
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));

三、fetchJSON_comment98 採集標籤

fetchJSON_comment98 採集標籤是fetchjs中一個非常實用的方法。該方法可以模擬form表單提交,向服務器發送數據。下面是fetchJSON_comment98 採集標籤的具體使用方式:

fetch.postForm(url, {
  username: '123',
  password: '456'
}).then(function (response) {
  console.log(response)
}).catch(function (error) {
  console.log(error)
})

fetchJSON_comment98 採集標籤方法接受兩個參數。第一個參數是目標URL,第二個參數是包含要提交的表單數據的JavaScript對象。在使用fetch.postForm方法時,fetch會將表單數據轉換成請求體並發送到目標URL,然後回調返回服務器響應的數據。

四、js fetch的用法

fetchjs庫不僅API簡單,語法清晰舒適,而且是一個功能強大的Ajax工具。接下來我們來一起看一下js fetch的用法。

let url = 'http://www.example.com';
let data = {
    'name': 'fetch1',
    'age': 21
};
fetch(url+'?data='+JSON.stringify(data),{
    method : 'get',
}).then(function(res){
    console.log(res);
})

對於跨域訪問,fetch默認是不會帶cookie的。需要添加fetch的credentials屬性,如下:

fetch(url,{
    method : 'get',
    credentials: 'include',//帶cookie
}).then(function(res){
    console.log(res);
})

fetch.js也可以方便完成POST、JSONP等其他操作。

//post
fetch(url, {
    method : 'post',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
    },
    body : 'a=1&b=2'
}).then(function(res){
    console.log(res);
});

//jsonp
fetch.jsonp(url,{
    callback:'handleResponse',//指定回調函數名
}).then(function(res){
    console.log(res);
});

五、fetch文件上傳

fetchjs也支持文件上傳功能。下面是fetch文件上傳的代碼示例:

let file = document.getElementById('file').files[0];
let formData = new FormData();
formData.append('file', file);
fetch('/upload', {
    method: 'POST',
    body: formData
}).then(response => {
    console.log(response);
});

在上傳文件時,需要創建一個FormData對象並將文件添加到FormData中。然後將其作為Body傳遞到請求中。這樣就可以上傳文件了。

六、fetch支持多種返回格式

fetchjs支持多種返回格式:JSON、XML、Text等。在默認情況下,fetchjs會自動解析JSON。

fetch(url)
  .then(res => res.json())
  .then(data => {
    console.log(data);
  });

如果服務器返回的不是JSON格式,可以使用其他的解析方法:

fetch(url)
  .then(res => res.text())
  .then(data => {
    console.log(data);
  });

fetchjs也支持XML格式:

fetch(url)
  .then(res => res.xml())
  .then(data => {
    console.log(data);
  });

fetchjs的多種返回格式為開發者提供了更多的選擇和靈活性。

原創文章,作者:ZVPKD,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/325471.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ZVPKD的頭像ZVPKD
上一篇 2025-01-13 13:24
下一篇 2025-01-13 13:24

相關推薦

  • Python應用程序的全面指南

    Python是一種功能強大而簡單易學的編程語言,適用於多種應用場景。本篇文章將從多個方面介紹Python如何應用於開發應用程序。 一、Web應用程序 目前,基於Python的Web…

    編程 2025-04-29
  • Python zscore函數全面解析

    本文將介紹什麼是zscore函數,它在數據分析中的作用以及如何使用Python實現zscore函數,為讀者提供全面的指導。 一、zscore函數的概念 zscore函數是一種用於標…

    編程 2025-04-29
  • 全面解讀數據屬性r/w

    數據屬性r/w是指數據屬性的可讀/可寫性,它在程序設計中扮演着非常重要的角色。下面我們從多個方面對數據屬性r/w進行詳細的闡述。 一、r/w的概念 數據屬性r/w即指數據屬性的可讀…

    編程 2025-04-29
  • Python計算機程序代碼全面介紹

    本文將從多個方面對Python計算機程序代碼進行詳細介紹,包括基礎語法、數據類型、控制語句、函數、模塊及面向對象編程等。 一、基礎語法 Python是一種解釋型、面向對象、動態數據…

    編程 2025-04-29
  • Matlab二值圖像全面解析

    本文將全面介紹Matlab二值圖像的相關知識,包括二值圖像的基本原理、如何對二值圖像進行處理、如何從二值圖像中提取信息等等。通過本文的學習,你將能夠掌握Matlab二值圖像的基本操…

    編程 2025-04-28
  • 瘋狂Python講義的全面掌握與實踐

    本文將從多個方面對瘋狂Python講義進行詳細的闡述,幫助讀者全面了解Python編程,掌握瘋狂Python講義的實現方法。 一、Python基礎語法 Python基礎語法是學習P…

    編程 2025-04-28
  • 全面解析Python中的Variable

    Variable是Python中常見的一個概念,是我們在編程中經常用到的一個變量類型。Python是一門強類型語言,即每個變量都有一個對應的類型,不能無限制地進行類型間轉換。在本篇…

    編程 2025-04-28
  • Zookeeper ACL 用戶 anyone 全面解析

    本文將從以下幾個方面對Zookeeper ACL中的用戶anyone進行全面的解析,並為讀者提供相關的示例代碼。 一、anyone 的作用是什麼? 在Zookeeper中,anyo…

    編程 2025-04-28
  • Python合集符號全面解析

    Python是一門非常流行的編程語言,在其語法中有一些特殊的符號被稱作合集符號,這些符號在Python中起到非常重要的作用。本文將從多個方面對Python合集符號進行詳細闡述,幫助…

    編程 2025-04-28
  • Switchlight的全面解析

    Switchlight是一個高效的輕量級Web框架,為開發者提供了簡單易用的API和豐富的工具,可以快速構建Web應用程序。在本文中,我們將從多個方面闡述Switchlight的特…

    編程 2025-04-28

發表回復

登錄後才能評論