亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在瀏覽器中模擬請求的錯誤響應?

如何在瀏覽器中模擬請求的錯誤響應?

桃花長相依 2023-12-14 14:22:41
我想在向服務器后端發出 HTTP 請求時使用實際的錯誤響應來練習我的 JavaScript 錯誤處理代碼。因此,我正在尋找一種簡單的方法來模擬響應,使用給定的狀態代碼、標頭、響應正文等。通過msw包,我可以設置一個服務工作人員來捕獲請求并生成響應:import { rest } from "msw";const BASE_PATH = "https://localhost:3000";export const handlers = [  rest.get(`${BASE_PATH}/hello`, (req, res, ctx) => {    return res(ctx.status(200), ctx.json({ data: "Hello!" }));  }),  rest.get(`${BASE_PATH}/error`, (req, res, ctx) => {    return res(ctx.status(400), ctx.json({ message: "Bad request" }));  })} 然而,這需要一些代碼來連接。如果 Chrome 開發工具中有一些功能可以讓我修改響應,就像我可以阻止對某些路由的請求一樣,那就更好了。在瀏覽器中模擬 HTTP 請求響應的最簡單方法是什么?
查看完整描述

1 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

好吧,我想似乎沒有人有任何值得作為答案的建議,所以我會嘗試完全意識到這不會完全回答你的問題。

當我需要一個可以返回各種晦澀的 HTTP 代碼以進行測試的 API 時,我會使用此網站: https: //httpstat.us/。這就像附加所需的代碼并進行調用(https://httpstat.us/400、https://httpstat.us/404https://httpstat.us/200)一樣簡單

顯然,它不能完成您需要的所有“狀態代碼、標頭、響應正文等”,但它肯定會提供測試各種 HTTP 響應代碼的能力。


查看完整回答
反對 回復 2023-12-14
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

我發現使用頁面 URL 查詢參數是模擬錯誤狀態的一種非常好的方法:


export const handlers = [

? rest.get(`/your/api/endpoint`, (req, res, ctx) => {


? ? // Check if the '?error=true' query param has been included in the page url.

? ? const pageParams = new URLSearchParams(window.location.search);

? ? const isError = pageParams.get('error') === 'true';


? ? // Example: http://localhost:3000/your_page_url?error=true

? ? if (isError) {

? ? ? // Query param was found, so return an error response.

? ? ? return res(

? ? ? ? ctx.status(404),

? ? ? ? ctx.json({ message: 'Oops! Something went terribly wrong.' })

? ? ? );

? ? }


? ? // Otherwise - return a 200 OK response.

? ? return res(ctx.status(200), ctx.json({ data: 'Some cool data' }));

? })

];

查看完整回答
反對 回復 2023-12-14
  • 1 回答
  • 0 關注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號