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/" ...
随机推荐
- sench touch 页面跳转
下面是我做的一个简单的登录页面登录成功后跳转页面 首页要在app.js 里面添加 1.视图层 登录页面 Ext.define('MyApp.view.Login', { extend: 'Ext. ...
- .Net core的日志系统
.net core是内置了日志系统的,本文这里简单的介绍一下它的基本用法.如下是一个简单的示例: var service = new ServiceCollection() .AddLogging(l ...
- ABAP非Unicode系统中字符串拼接(CONCATENATE)时吃字符问题
系统是老R3,非Unicdoe系统,某些表字段是从外界系统过来的,由于接口设计的固定长度,外界系统传超长字符串过来后,就可能从最后一个中文字符中间截断,这问题到还没什么,只不过显示时最后一个字符显示成 ...
- JS对HTML字符的转义
function htmlEscape(str){ var s = ""; if(str.length == 0) return ""; s = str.rep ...
- 保存一个经常用的Makefile
############################################################# # Generic Makefile for C/C++ Program # ...
- [Python设计模式] 第26章 千人千面,内在共享——享元模式
github地址:https://github.com/cheesezh/python_design_patterns 背景 有6个客户想做产品展示网站,其中3个想做成天猫商城那样的"电商风 ...
- datagrip离线安装驱动jar
问题描述: datagrip离线安装驱动,在线的安装驱动一般默认安装在当前用户下.DataGrip xxxx 问题解决: 在线在线下载驱动jar,复制jar到内网离线环境 01.外网已经存在的jar提 ...
- Laravel: 基础篇
一.安装 1)采用一键安装包 http://laravelacademy.org/resources-download 2)Mac 上安装 ----------在Mac上安装composer----- ...
- [.NET] 一个获取随机数的新方式
private Random GetRandomSeed() { byte[] bytes = new byte[4]; RNGCryptoServiceProvider rng = new RNGC ...
- (七):处理MFC
(一):简单介绍 为了可以在一个Winelib应用中使用MFC,你须要首先使用Winelib又一次编译MFC. 在理论上,你应该为Windows的MFC编写一个封装(怎样编写在后面介绍).可是,在实践 ...