fetch get方法的时候报错
fetch 报错 Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.
翻译过来就是 无法在window上执行fetch:使用get/head方法请求不能有body
错误代码:src/api/index.js
import Fetch from '../fetch/index'
import jk from './jk'
export default {
verifycodeApi: params => Fetch(jk.verifycode, {method: 'get',body: params})
}
这里的get方法中,接受参数用了body,所以报错。
解决方案:
在封装的fetch.js中
const Fetch = (url, option = {}) => {
// 格式化get请求的数据(fetch的get请求需要需要将参数拼接到url后面)
if (option.method === 'get') {
if (option.data) {
url = url + formatUrl(option.data)
}
}
// 对非get类请求头和请求体做处理
if (option.method === 'post' || option.method === 'put' || option.method === 'delete') {
option.headers['Content-Type'] = option.headers['Content-Type'] || 'application/json'
option.body = qs.stringify(option.body)
// option.body = JSON.stringify(option.body)
}
delete option.data
}
重点是标橙色的代码,这里是为了给get方法创建一个data的属性,在拼接完url以后,最后用delete删除这个data的属性
那么,在src/api/index.js
// api文件存放接口文件夹
import Fetch from '../fetch/index'
import jk from './jk'
export default {
manageloginApi: params => Fetch(jk.managelogin, {method: 'post', body: params}),
verifycodeApi: params => Fetch(jk.verifycode, {method: 'get', data: params})
}
就可以用data属性存放get传过来的参数,避免了body传参的报错
fetch get方法的时候报错的更多相关文章
- java调用本地方法的时候报错 could not find the main class:xx.program will exit
如图所示,当在java调用本地方法的时候报错 我的解决办法是把dll文件放到System.out.println(System.getProperty("java.library.path& ...
- js Fetch返回数据res.json()报错问题
前言 一直以来在简单的场景中经常使用fetch代替第三方请求库, fetch是JavaScript的原生函数, 简单.高效.快速.稳定.可定制等等诸多优点.一直也是用着很是舒服,直到有一天它竟然报错了 ...
- 执行发送邮件Send方法时,报错:邮箱不可用。 服务器响应为: 5.7.1 Unable to relay for xxx@xxx.com
.net代码在执行发送邮件Send方法时,往往出现这个的报错: 邮箱不可用. 服务器响应为: 5.7.1 Unable to relay for xxx@xxx.com 这个问题应该是smtp的设置问 ...
- 使用jieba导入引用方法时,报错AttributeError: module 'jieba' has no attribute 'cut'
一.问题描述 import jieba导入后,使用jieba.cut()方法时报错AttributeError: module 'jieba' has no attribute 'cut' 二.问题分 ...
- Android 使用MediaRecorder录音调用stop()方法的时候报错【转】
本文转载自:http://blog.csdn.net/u014737138/article/details/49738827 这个问题在网上看到了太多的答案,一直提示说按照官网的api的顺序来,其实解 ...
- oracle数据库升级dbua操作阻塞解决方法(解决ORA-32004报错)
操作环境 1.SuSE11sp3操作系统 2.oracle 11.2.0.3版本升级到11.2.0.4版本 问题现象 oracle 11.2.0.3版本升级到11.2.0.4版本时执行dbua命令 ...
- windows的bpython安装方法以及数据库报错--记录
---恢复内容开始--- 安装bpython的时候发现了一个博客讲解如何成功安装bpython,分享一下链接http://www.cnblogs.com/zhaojiedi1992/p/zhaojie ...
- 利用powerdesigner创建表模型后导出sql语句方法,以及报错 Generation aborted due to errors detected during the verification of the model.的解决办法
今天用powerdesigner建了表模型,下面先说一下导出sql语句的步骤. 1.选项 2. 然后就报错了,下面说解决办法,很简单. 你没看错,把模型检查的√去掉就行了~~ 导出表名不带双引号的设置 ...
- python-selenium使用send_keys()方法写中文报错的解决方法
问题描述: 自动化操作页面,输入中文姓名: # coding=utf-8 url = "http://dealer.bitauto.com/50002218/zuidijia/" ...
随机推荐
- ios开发中字符串的常用功能总结
1.分割字符串 NSString * str1 = @"123/456"; NSArray * arr1 = [str1 componentsSeparatedByString:@ ...
- 小甲鱼Python第六讲课后习题
python中被看作假:FALSE none 0 ‘ ’ " " ( ) [ ] { },其他一切都被解释为真 0.Python 的 floor 除法现在使用“//”实现, ...
- python之装饰器篇
一.基本装饰器 基本装饰器的作用: 在不改变原函数的基础上, 通过装饰器, 给原函数新增某些功能 实现方法: 在原函数上加 @装饰器名字 其中@叫做语法糖 定义装饰器 第一层函数传入参数(用于传入原函 ...
- 在Ubuntu18.04下配置hadoop集群
服务器准备 启动hadoop最小集群的典型配置是3台服务器, 一台作为Master, NameNode, 两台作为Slave, DataNode. 操作系统使用的Ubuntu18.04 Server, ...
- 【C++】C++中的字符和字符串
目录结构: contents structure [-] 定义和初始化string string对象上的操作 处理string对象中的字符 C风格字符串 标准库类型string表示可变长的字符序列,使 ...
- SQL 数据库结构化查询语言
1.数据库 常见数据库 MySQL:开源免费的数据库,小型的数据库. Oracle:收费的大型数据库,Oracle 公司的产品 DB2:IBM 公司收费的数据库,常应用在银行系统中 SQLServer ...
- caffe可重入单例机制分析
一个函数可重入是指该函数可以被多个线程同时调用.大多数函数都不是可重如的,因为很多函数会修改静态数据结构里的内容,如果多个线程同时调用,势必破坏共享的静态结构.可以在不改变公共接口的情况下,将一个非重 ...
- Android 源码学习
工具篇:如何使用 Visual Studio Code 阅读 Android 源码:https://jekton.github.io/2018/05/11/how-to-read-android-so ...
- Sublime Text 输入法跟随光标
通过PackageControl安装“IMESupport”,重启Sublime Text3,即可解决: 注:如项目自述,仅支持Windows.
- ios调试-查看日志
连上mac,然后打开“console.app”, 左侧设备里选这个设备.