前端请求传参格式

【Docker】完美解决拉取镜像超时报错:ERROR: Get https://registry-1.docker.io/v2/ 因为我们下载的镜像是外网的镜像资源,所以下载的速度会非常的慢,甚至大概率下载时会报错,所以需要我们配置一个国内的服务器镜像地址,国内服务器镜像地址有很多,这里咱们就说一下阿里镜像加速器的配置方法。 阅读详情
AI摘要

本文详细解释了form-data、application/x-www-form-urlencoded、application/json和text/xml在HTTP请求中的使用场景,特别关注了Content-Type的选择与axios库中的请求头配置。着重讨论了GET和POST请求、文件上传以及如何正确设置axios的请求头以避免默认Content-Type覆盖问题。,

格式类型

form-data
application/x-www-form-urlencoded
application/json
text/xml

一、form-data

  1. multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分,这个一般文件上传时用。

  2. 当method为post时候,浏览器把form数据封装到http body中,然后发送到server。

  3. 如果没有type=file的控件,默认用application/x-www-form-urlencoded。

  4. 如果有type=file,必须用multipart/form-data。

调用接口的时候参数data等于formData,用console.log打印formdata为空,其实是有数据的

const formData = new FormData();
formData.append('name', '李雷');

// 使用get方法查看数据
formData.get('modelName') // code

二、application/x-www-form-urlencoded

①请求方式为get:
当method为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2…),然后把这个字串append到url后面,用?分割,加载这个新的url,可以传json对象格式

②post
为post的情况需要传form-data格式, 窗体数据被编码为名称/值对,这是标准的编码格式
1.可以new FormData()

2.可以使用 qs.stringify() 转成键值的格式
qs需安装 命令:npm run qs

let obj ={name:'Cathy',age:100}
let qsResult = qs.stringify(obj)  // name=Cathy&age=100
let jsonResult = JSON.stringify(obj) // '{"name":"Cathy","age":100}'
aaa(qsResult).then(res=》{}}

需要手动修改content-type

export function listTreeByDimensionId(query) {
    return request({
      url: '/setup/kgceDimensionTree/listTreeByDimensionId',
      method: 'post',
      data: query,
      headers:{
        'Content-Type':'application/x-www-form-urlencoded' 
      }
    })
}

三、application/json

普通json格式传参

四、text/xml

是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范。

是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范

四、Content-Type的使用
客户端发送请求(Request)时的Content-Type设置,特别是使用ajax的时候,如果设置得不准确,很有可能导致请求失败。

  1. 如果是一个restful接口(json格式),一般将Content-Type设置为application/json; charset=UTF-8;
  2. 如果是文件上传,一般Content-Type设置为multipart/form-data
  3. 如果普通表单提交,一般Content-Type设置为application/x-www-form-urlencoded
    参考:https://blog.youkuaiyun.com/qq_45796667/article/details/125239247

遇到问题:

1.get请求修改Content-Type无效
请求方法中设置了请求头Content-Type,request headers中没有更改成功

export function detailBy() {
    return request({
      url: '/setup/kgceDimension/detail',
      method: 'get',
      headers: {
    	'Content-Type': 'application/json;charset=UTF-8'
      },
    })
}

2.问题原因:
npm下axios的源码中,当未设置请求数据的时候会删掉Content-Type的设置

3.解决方法
config.data = true

/**
 * request interceptor 发送请求时拦截
 */
service.interceptors.request.use(
  config => {
    if (!config.data) {
      config.data = true // 解决请求没有参数时添加不上Content-Type问题
    }
    // config.headers['Content-type'] = 'application/json;charset=UTF-8'
    config.headers['Authorization-Idaas'] = getToken()
    return config
  },
  error => {
    // do something with request error
    return Promise.reject(error)
  }
)

2.axios封装问题
不要设备默认Content-type,因为遇到不同的请求类型时,会被覆盖,修改无效。axios默认Content-type为application/json

/**
 * request interceptor 发送请求时拦截
 */
service.interceptors.request.use(
  config => {
    // config.headers['Content-type'] = 'application/json;charset=UTF-8'//不要设备默认Content-type
    config.headers['Authorization-Idaas'] = getToken()
    return config
  },
  error => {
    // do something with request error
    return Promise.reject(error)
  }
)

3. axios默认headers content-type问题
①传参为对象,请求头的content-type是application/json;charset=UTF-8
②发送一个上传文件的请求formdata,请求头的content-type是multipart/form-data
参考:https://blog.youkuaiyun.com/u010856177/article/details/127074333

Python 爬虫进阶技巧:新手必学的反爬突破与效率优化 本文系统总结了爬虫进阶的核心技巧,针对新手常见的反爬拦截、效率低下、动态页面解析等痛点问题,提出了可落地的解决方案。主要内容包括:通过随机UA池、代理IP池和Cookie池突破常见反爬机制;利用多线程/异步请求提升爬取效率;使用Selenium解析动态渲染页面;以及数据清洗方法提升数据质量。文中提供了完整的代码示例和实战对比数据,并强调爬虫开发应遵守合规性要求。这些技巧能帮助开发者快速提升爬虫实战能力,应对80%以上的常见爬取需求。 阅读详情

相关推荐

帕塞瓦尔定理(Parseval‘s theorem)的证明

帕塞瓦尔定理(Parseval's theorem)表明了信号在时域和频域上的能量相等。

weixin_42428226的博客 2万+

前后端传参

前后端传参

LINING_GG的博客 3660

11.3 海岛微电网与工业园区的构网应用

海岛微电网与工业园区配电网是构网技术下沉应用的两大典型场景。海岛微电网以构网型储能为核心,解决孤岛系统稳定性问题,需具备黑启动、多能源协调和故障穿越能力;工业园区则侧重电能质量治理、并离网无缝切换和经济优化运行。两类场景均需解决多机并联稳定性、故障特性适配和分层协同控制等关键技术。构网型变流器的电压源构建能力、自适应控制策略及飞轮储能等特殊应用,为构建高可靠性、高经济性的分布式能源系统提供了创新解决方案。

技术工作者 1086

前端与后端传递数据 — — JSON

前后端交互,前端与后端传递数据 — — JSON、Content-Type

weixin_45565886的博客 2万+

实战指南:从零搭建ROS2 + Cartographer 2D激光SLAM系统

本文详细介绍了如何从零开始搭建ROS2与Cartographer结合的2D激光SLAM系统,涵盖环境准备、激光雷达驱动配置、Cartographer安装与参数调优等关键步骤。通过实战案例和常见问题解决方案,帮助开发者快速掌握激光雷达建图技术,提升机器人自主导航能力。

weixin_29062255的博客 404

SpotBugs使用

spotbugs命令行参数解析

javajingling的专栏 2949

一文看懂前后端请求参数传递方式和数据格式以及它们之间的关系

JSON:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端交互。JSON 格式支持复杂的数据结构,例如对象、数组、字符串、数字和布尔值等。在 JavaScript 中,可以使用JSON.parse()和JSON.stringify()方法来解析和生成 JSON 数据。 URL 编码格式:URL 编码格式是一种将字符串转换为 ASCII 码的可读格式的方法,常用于传递 URL 参数或表单数据。在 URL 编码格式中,特殊字符(例如空格、&、+、/

weixin_54079103的博客 2785

信息隐藏 数字图像空域隐写与分析技术的实现

【代码】信息隐藏 数字图像空域隐写与分析技术的实现。

Yungoal的博客 470

关于postman传参的几种格式

postman传参的几种格式 List、Map、Object等

m0_49031590的博客 1万+

私家侦探如何追踪难以找到的人,掌握几个很少人知道的在线免费查询网站,搜索人名、电话号码以及地址的开源网站

私家侦探如何追踪难以找到的人,掌握几个很少人知道的在线免费查询网站,搜索人名、电话号码以及地址的开源网站。

代码讲故事 6491

Open-Sora代码详细解读(1):解读DiT结构

目前开源的DiT视频生成模型不是很多,Open-Sora是开发者生态最好的一个,涵盖了DiT、时空DiT、3D VAE、Rectified Flow、因果卷积等Diffusion视频生成的经典知识点。本篇博客从Open-Sora的代码出发,深入解读背后的原理。

沉迷单车的追风少年 2265

传参的几种形式

1.form-data // 登录以form-data形式传参(username,password是后端需要的参数) const formData = new FormData(); formData.set("username", username); formData.set("password", password); //上传文件时也以form-data形式传参(file和id是后端需要的参数) ...

weixin_45776308的博客 1559

FineReport 动态列切换统计维度

目标: 自己选择统计维度进行数据的汇总统计数据集参数实现动态列。

Davina_yu的博客 1053

前端post请求方式传参参数各种格式详解

application/json 这个 Content-Type 作为响应头。是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范。XML-RPC 协议简单、功能够用,各种语言的实现都有。JSON 格式支持比键值对复杂得多的结构化数据。

weixin_45293868的博客 2406

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

post请求四种数据格式,前端对应传参方式总结

前言 HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样: <method> <request-URL> <version> <headers> <entity-body> 协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式。实际上,开发者完全可以自己决定消...

weixin_42978193的博客 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ajax的post请求的前端传参格式以及springboot后端接收参数方式

一、数据准备(想看结论直接翻最后) 1、搭建一个springBoot的后端工程 1.1 创建一个简单的user实体类 1.2 template目录下添加index.html 1.3 配置静态资源访问路径 @Component public class WebConfig implements WebMvcConfigurer { /** * springboot 无法直接访问静态资源,需要放开资源访问路径。 * 添加静态资源文件,外部可以直接访问地址 */

断掉的手环 9203

前端POST请求和GET请求有什么区别,传参格式有什么区别?

标题

海贼王某人的博客 1993

请求体的方式传参_前端POST请求和GET请求有什么区别,传参格式有什么区别?

①. get多用于从服务器请求获取数据,post多用于向服务器发送数据。②.get传递数据直接拼接在URL后面,值和后台协定好的字段对应,在URL中可以看到。post相对比较灵活,传递一个object,里面吧用于提交的表单数据放在里面。用户看不到这个过程,因此get安全性非常低,post安全性较高。③. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式...

weixin_39660931的博客 890

http delete 请求的传参方式

delete请求方式有两种传参方式, 两种传参方式的区别是,一种参数是拼接在url后面的,一种是以json格式在body传参。

weixin_46031324的博客 9089

前端请求restful风格接口怎么传参_API接口如何设计,实现统一格式返回?

目录前言接口交互返回格式控制层Controller美观优化优雅优化实现方案总结前言在移动互联网,分布式、微服务盛行的今天,现在项目绝大部分都采用的微服务框架,前后端分离方式,(题外话:前后端的工作职责越来越明确,现在的前端都称之为大前端,技术栈以及生态圈都已经非常成熟;以前后端人员瞧不起前端人员,那现在后端人员要重新认识一下前端,前端已经很成体系了)。一般系统的大致整体架构图如下:需要说明的是,有...

weixin_42533751的博客 496

前端请求接口之content-type与传参

今天跟公司后端对接口,公司后端小盆友们为了省事,直接给我发截图,让我猜怎么请求接口,怎么传参。仔细研究了研究,发现如下信息: 1.后端接口方法使用@RequestBody,证明前端得请求参数应该放在body里,使用application/x-www-form-urlencoded是不行的,因为 当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2…),然后把这个字串append到url

Clearlove_8的博客 2025

前端post请求方式传参参数各种格式详解,form-data,application/x-www-form-urlencoded,application/json,text/xml

前端传参参数各种格式详解一、form-data二、application/x-www-form-urlencoded总结 一、form-data form-data格式一般是用来进行文件上传 调用接口的时候参数data等于formData const formData = new FormData(); formData.append('modelName', code); 二、application/x-www-form-urlencoded 表单的传参格式,常见的post传参格式 data等于一个对象

qq_43305958的博客 1万+

Django获取请求参数方式

前端传参方式 请求行: url传参(/分隔,url路径),查询字符串传参(?开头key=value形式) 请求头: 如cookie 请求体:表单格式,非表单格式如json 请求行url传参: 请求行url传参 请求方式为:https://xxx/xxxx/xxxx/xxx 路径的形式 接收方式: 使用正则匹配url中的路径接收参数,参数接收顺序固定 请求行url传参, 接...

weixin_43250623的博客 3735

Spring Boot接收从前端传过来的数据常用方式以及处理的技巧

(1)场景一:只是表单数据(那就和params 传参的后端接收法一样,就不重复写了)【1】Spring Boot接收从前端传过来的数据常用方式以及处理的技巧。只是表单数据的话,get、post (正规的是post方式)都行;:url后面的key值

web13595609705的博客 1048

axios post请求报错415

axios 发post请求 报错415 后台想要的格式json字符串形式的 前端 后台更改了传参方式 问题解决

web_zq的博客 4172

Required request body is missing 错误解决思路

今天和前端对接的时候,发现请求不通,但是我测试通过是没有问题的,怀疑是前端传参问题 和前端排查,是前端的请求是DELETE请求,但是数据请求的格式不对,前端改下就好了. 一般类似的问题基本的上都是请求方式的问题,get请求不需要加RequestBody注解,其他的请求需要. ...

yutongcai1993的博客 1万+

【springboot Date时间类型返回/请求格式】

(1)Springboot中Date类型数据用于前端展示时,前端显示时间为时间戳,而不是数据库中显示的时间格式。(2)postman传参dateTime调用接口时报错。

weixin_45658815的博客 969
上一篇: 小程序获取后台实时定位
下一篇: js获取当前日期后面N天的每天日期
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值