Fetch API 脫坑教程

2021-10-05 08:17:43 字數 1864 閱讀 4171

通常我們在遊覽器請求時,發現請求失敗,想就這條件重新請求除錯,取出引數去其他工具除錯吧,引數少還好,一旦多了也麻煩,畢竟取出來的引數也是要經過處理的。這時我們可以考慮使用遊覽器fetch,實現重新請求,並且可以更改其傳入引數,以方便定位問題。下面是我遇到的問題以及fetch的一些簡單使用。

作用:fetch主要是用來發起ajax請求的,原生的js api,替代傳統的xhr,不需要額外的jquery框架即可發起。

語法:

/* get方式 */

fetch

("url").

then

(res => res.

json()

)//返回的是response物件

.then

(data=> console.

log(data)

)//列印返回體data

.catch

(e => console.

log(

"error"

, e));

//列印error

/* post方式 */

fetch

("url",,

"referrer"

:"","referrerpolicy"

:"no-referrer-when-downgrade"

,"body":""

,"method"

:"post"

,"mode"

:"cors"})

.then

(res => res.

json()

)//返回的是response物件

.then

(data=> console.

log(data))/

/列印返回體data

.catch

(e => console.

log(

"error"

, e));

//列印error

1、首先選中你的請求,右鍵,copy as fetch,然後貼上到遊覽器控制台,例:

fetch

("store/batch",,

"referrer"

:"","referrerpolicy"

:"no-referrer-when-downgrade"

,"body"

:"userid=1&storecodes=cn0fsd094&storecodes=cn769fds0&storecodes=cn76esd0&ifeasybuyagainshow=false"

,"method"

:"post"

,"mode"

:"cors"

})

2、在後面加上

.

then

(res => res.

json()

).then

(data=> console.

log(data)).

catch

(e => console.

log(

"error"

, e)

);

3、之後便是校驗請求是否和你要求的一樣了,特別要注意的一些引數content-type、authorization、body、method

4、特別引數:

credentials:傳送帶憑據的請求,引數有include(跨域源)、same-origin(在請求url與呼叫指令碼位於同一起源處時傳送憑據)、omit(不在請求中包含憑據)

5、結果:

即將脫坑的感慨

如何開始乙個小點呢?最近在做去重,有兩方面,url去重與漏洞去重。關於去重,情況過於複雜。url去重,這是第一版,用正則進行mysql的匹配,刪除匹配到的url剩餘一條。這樣要寫的規則實在是太多了,如何提高效率,提高規則編寫 測試 刪除 更新的效率又是乙個問題。這些又大多是在規則編寫的過程中逐漸形成...

Canvas 跨域脫坑實踐

canvas跨域如何解決?這裡記錄下使用canvas繪圖過程中所遇到的跨域問題和解決方案。先來看下實現方法。目標一般是由 文字 構成。無論是千奇百怪的大小,還是變幻莫測的各式文字,都能用canvasapidrawimage和filltext方法來完成。基本流程如下 獲取canvas上下文 ctx c...

比賽心得 希望每次脫坑順利

總而言之 心態要好!比賽一開始對於一道題目沒有思路,誰覺得沒有思路,誰就去讀別的題 題意一旦確定,先對題目給出的案例 自圓其說 然後考慮幾個特殊情況 交錯題了!還兩次!測案例,1.測部分區間案例 2.測區間兩端 3.能測得總區間就測。交題太急!不確定不交!不要萬不得已不要賭!題目長的,一起讀,一起翻...