报错说明:
bog.js:35 [ERROR] [2018.10.24 10:58:47] 127.0.0.1 [uuid] [thread] [class] - API Error: Body not allowed for GET or HEAD requests with UUID: 49ece288-7a32-4cbe-a421-1439f8ff3f6b when calling /xxx.com/get-xxx
事件分析:
》排查bog.js line35,bog.js是无辜的啦,明显我只是输出日志的工具而已。
》排查uuid,查看GitHub issues和源代码,我也是无辜的,仅仅生成一个唯一ID。
》排查Fetch.js请求的Request Header
经过一番排查,定位于前后代码对比
// Before Modified { method: 'POST', credentials: 'same-origin', headers: { token: 'xxxx', }, body: params, } // After Modified { method: 'GET', credentials: 'same-origin', headers: { token: 'xxxx', }, body: params, }
发现后端的请求method把之前的post改成了get请求,导致fetch.js GET请求发送body的信息错误,引起上面的报错提示。
解决方案:
在公共request的function中,判断若是get请求并且body不等于空,则把参数添加到request请求url的后面即可解决。
if (/^get$/i.test(optData.method) && optData.body) { apiPath += `${apiPath.indexOf('?') === -1 ? '?' : '&'}${optData.body.toString()}`; optData.body = null; }
相关推荐
**fetchAPI: 使用提取API进行GET和POST数据** 在现代Web开发中,数据交换是必不可少的,`fetch API`提供了一种优雅的方式来处理HTTP请求,包括GET和POST操作。相较于传统的XMLHttpRequest,`fetch`更加简洁,易于...
最近在一个基于 git 的发布系统中拉取代码,发现无法拉取最新的提交记录,通过调试和查看日志文件找到一行错误:error: cannot open .git/FETCH_HEAD: Permission denied,原因是文件权限问题导致。 问题原因 ...
`electron-main-fetch`库就是为了满足这个需求而诞生的,它允许我们在Electron的主要进程中使用与浏览器相同的Fetch API。 Fetch API是一种现代、统一的接口,用于在Web上发起HTTP请求。它提供了异步操作,返回...
【如何使用Fetch API:深入解析源代码】 Fetch API是现代Web开发中用于处理网络请求的重要工具,它替代了传统的XMLHttpRequest。本指南将通过源代码分析,深入讲解如何有效地使用Fetch API。 一、Fetch API的基本...
难易程度**教程请参阅以下查看应用程序中使用的API: : 创建组件ListUsers 在ListUsers将通过Fetch API从API中获取数据,其中的功能可以获取用户列表,删除用户和添加用户。 创建组件FormCreateUser来处理新添加的...
JavaScript Fetch API 是一种现代的、基于Promise的网络请求接口,用于替代传统的XMLHttpRequest。它使得在JavaScript中处理HTTP请求变得更加简洁和优雅。Fetch API被设计为一个轻量级且易于使用的解决方案,支持...
使用python直接使用pip install xx时,出现 Could not fetch URL https://pypi.python.org/simple/requests/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate ...
史上最全web前端技术全套教程,包括: 前端API集成 前端基础知识 前端开发最佳实践 前端性能优化 前端构建工具 前端框架和库 前端测试工具 前端状态管理 等流行技术的系列教程
//default headers for all requests var fetchClient = new Fetch ( '<baseURL>' , headers ) ; //POST var body = { } ; fetchClient . POST ( 'p/a/t/h' , body ) . then ( ( res ) => res . json ( ) ) . ...
Fetch API是现代JavaScript中用于网络请求的标准方法,它取代了传统的XMLHttpRequest(XHR)API,提供了更简洁、更直观的接口来与服务器进行数据交互。本文将深入探讨Fetch API的基本用法、特性以及如何在实际项目中...
这个库的出现是为了简化在浏览器中进行网络请求的流程,提供更优雅的API,同时保持与Fetch API的兼容性。 **Fetch API的介绍** Fetch API是Web开发中的一个重要部分,用于处理网络请求。相比于传统的...
Fetch API的通用工具。 fetch在网络上无处不在。 fetch-friends是最小的,自动咖喱工具库来装点fetch与,否则你可能切换到了,在这个过程中混淆其他开发商另一个HTTP库的行为。 无需仅因需要超时而将fetch替换为库...
提取API 细节(-Curso Alura) 前端API的使用是必需的。 Entenda como utilizar ométodo提取了消费者的uma API。 可以使用CRUD实用程序从HTTP提取信息。 详细信息请参见HTTP获取信息。 Aprenda como funcionam...
bash: vi: command not found, 场景: 因为 docker里面没有这个命令,我们安装一下 apt-get update apt-get install vim 如果 这个时候 安装也还是会出现 异常 root@446d7cf1606c:/etc/mysql# apt-get update ...
在现代Web开发中,`Fetch API`逐渐取代了传统的`XMLHttpRequest (XHR)`,成为处理异步数据请求的标准方法。`Fetch API`提供了更简洁、更直观的接口,且更符合Promise规范,使得异步编程更加优雅。接下来,我们将深入...
安装$ npm install --save make-fetch-happen 目录例子const fetch = require ( 'make-fetch-happen' ) . defaults ( { cacheManager : './my-cache' // path where cache will be written (and read)} )fetch ( '...
React获取挂钩 React挂钩可方便地使用Fetch API。 小(556 B)。 按计算包括Flow和TypeScript类型import React from "react" ;import useFetch from "react-fetch-hook" ;const Component = ( ) => { const { is...
throw new Error('Network response was not ok'); } return response.json(); }) .then(data => { setData(data); setLoading(false); }) .catch(error => { setError(error); setLoading(false); }); ...
在JavaScript编程领域,`fetch API` 是一种现代的、用于异步获取网络资源的方法,它替代了原有的XMLHttpRequest。本文将深入探讨`New-Fetch-Api`,它扩展了基本的fetch API,允许开发者从本地或外部API获取text/json...
const kyInstance = ky.create({ fetch: customFetch }); ``` Ky的源代码位于`sindresorhus-ky-63386ba`这个压缩包中,如果你想要深入理解其内部实现或进行定制,可以查看源代码。这个库由Sindre Sorhus维护,他...