一個攔截ajax請求并修改請求、響應信息的Chrome插件

寫了一個 Chrome 插件Ajax Interceptor Tools,使用這個插件,你可以通過 JSON 或 JavaScript 代碼片段來編輯并修改響應結(jié)果,還支持使用 Mock.js 語法生成隨機數(shù)據(jù)。另外還可以修改請求地址、請求頭等內(nèi)容,并且插件支持分組、導入/導出規(guī)則配置等。

使用

QuicklyAddRequestsForModification.gif

一、修改Response響應結(jié)果

在Response編輯器中,您可以選擇:
1、使用JSON/JavaScript格式編輯響應結(jié)果
2、轉(zhuǎn)發(fā)原始響應結(jié)果(如果清空Response編輯器,將會把原始響應結(jié)果轉(zhuǎn)發(fā)給應用程序)

1、 使用JSON格式編輯響應結(jié)果

示例:

{
  "status": 200,
  "response": "OK"
}

2、 使用JavaScript格式編輯響應結(jié)果

使用JS方式編輯響應結(jié)果時,通過new Function(responseText)生成函數(shù)并執(zhí)行,響應結(jié)果即為函數(shù)的返回值。

2.1. 簡單JavaScript片段

示例:

const data = [];
for (let i = 0; i < 10; i++) {
  data.push({ id: i });
}
return {
  "status": 200,
  "response": data
}
2.2. 使用 mock.js 生成隨機數(shù)據(jù)

示例:

const data = Mock.mock({
    // 屬性 list 的值是一個數(shù)組,其中含有 1 到 10 個元素
    'list|1-10': [{
        // 屬性 id 是一個自增數(shù),起始值為 1,每次增 1
        'id|+1': 1
    }]
});
return {
  "status": 200,
  "response": data
}

將生成類似以下數(shù)據(jù):

// ==>
{
    "list": [
        {
            "id": 1
        },
        {
            "id": 2
        },
        {
            "id": 3
        }
    ]
}
2.3. 從arguments獲取原始數(shù)據(jù),簡單編程創(chuàng)建場景

示例:

let { method, payload, originalResponse } = arguments[0];
if (method === 'get') { // 請求方式
  // do something
}
if (payload) { // 入?yún)?{ queryStringParameters,requestPayload }
  // do something
}
return {
  "status": 200,
  "response": originalResponse
};

二、修改Request請求信息

在Request面板中,您可以選擇修改請求URL、method、headers和payload。


1. 修改請求URL和method

例下圖中,將會把匹配到的/auth/login請求路徑替換為/auth/login2,并把請求方法改為POST,您可以打開devtools在Network面板中看到替換后的請求。

2. 修改請求headers

例下圖中,將會把請求headers中的Content-Type替換為application/json。

3. 修改請求payload

例下圖中,將會在入?yún)⒅行略?code>test: test123,您可以打開devtools在Network面板中看到請求體的修改。

三、支持導入/導出

SupportImportExportOfRuleConfigurations.gif

下載

項目地址:https://github.com/PengChen96/ajax-tools
谷歌商店:https://chrome.google.com/webstore/detail/ajax-interceptor-tools/kphegobalneikdjnboeiheiklpbbhncm

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容