uniapp开发小程序使用x-www-form-urlencoded; charset=UTF-8 编码格式请求案例

使用x-www-form-urlencoded,header要放在前面,第一行位置

uni.request({                    header: { 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'},url: '',method:'POST', //请求方式POST\GETdata:that.loginData,success: function(res) {console.log(res)}
}) 

200成功 

详述 application/json 和 application/x-www-form-urlencoded 区别:
 
uniapp请求中使用

一、application/x-www-form-urlencoded
        application/x-www-form-urlencoded:是最常见的 POST 提交数据的方式,浏览器的原生表单如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据,它是未指定属性时的默认值。 数据发送过程中会对数据进行序列化处理,以键值对形式?key1=value1&key2=value2的方式发送到服务器。 数据被编码成以 '&' 分隔的键-值对, 同时以 '=' 分隔键和值。非字母或数字的字符会被 percent-encoding。**在axios中当请求参数为qs.stringify(data)时,会以此方式提交数据。后台如果使用对象接收的话,可以自动封装成对象**

优势: 所有浏览器都兼容。
问题:在数据结构及其复杂时,服务端数据解析变得很难

二、application/json

        随着 json 规范的越来越流行,并且对浏览器支持程度原来越好,许多开发人员在请求头中加入 content-type: application/json ,这样做可以方便的提交复杂的结构化数据,这样特别适合restful接口。它告诉服务器请求的主体内容是 json 格式的字符串,服务器端会对json字符串进行解析,json 格式要支持比键值对复杂得多的结构化数据。这种方式的好处就是前端人员不需要关心数据结构的复杂度,只需要标准的json格式就能提交成功。当在 axios 中请求参数为普通对象时,POST 请求默认发送的是 application/json 格式的数据。 application/json 需要封装成对象的话,可以加上 @RequestBody 进行注解。

优势:是前端不需要关心数据结构的复杂度,后端解析方便。
问题:少数浏览器不兼容。

举例:向服务器发送数据:  {a:“a”, b:“b”}

如果头的格式是 application/x-www-form-urlencoded, 则 ajax.send(“a=‘a’&b=‘b’”);

如果头的格式是application/json, 则 ajax.send(JSON.stringify(data));

补充:Content-Type 值除了上述两种还有,multipart/form-data和text/plain方式

multipart/form-data: 主要用于文件上传,将文件转成二进制数据进行传输,不涉及转码。
text/plain: 是使用纯文本进行传输,平时用的很少。  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/723648.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

音视频开发之旅——音频基础概念、交叉编译原理和实践(LAME的交叉编译)(Android)

本文主要讲解的是音频基础概念、交叉编译原理和实践(LAME的交叉编译),是基于Android平台,示例代码如下所示: AndroidAudioDemo 音频基础概念 在进行音频开发的之前,了解声学的基础还是很有必要的。 声音…

NumPy数据处理详解的笔记3

NumPy数据处理详解的笔记3 第1章NumPy基础 NumPy是用于处理多维数组的数值运算库,不仅可用于 机器学习,还可以用于图像处理,语言处理等任务。 1.4 切片 python编程语言对数组切片功能有支持, NumPy 的ndarray 的切片功能是类似的&#xf…

K线实战分析系列之二十二:圆形顶部和圆形底部形态

K线实战分析系列之二十二:圆形顶部和圆形底部形态 一、圆形顶部形态二、圆形顶部和圆形底部形态的总结 一、圆形顶部形态 市场多空一方被逐渐击退,跳空的缺口是一方突然发力,体现出一方对市场掌握了控制权 二、圆形顶部和圆形底部形态的总结…

IDEA切换JDK版本超详细步骤

😀 IDEA切换JDK版本详细教程,全网步骤最详细,实测可用。 文章目录 第一步、选择SDKs切换SDK版本:第二步、选择Modules切换Sources和Dependencies版本:第三步、选择Project切换SDK和Language Level版本:第四…

MySQL中触发器的使用

触发器 模板 -- BEFORE|AFTER表是在数据库事件发生之前或之后执行 -- INSERT|UPDATE|DELETE表是发生什么数据库事件 -- FOR EACH ROW表示为每一行trigger_body数据都执行该触发器 CREATE TRIGGER trigger_name BEFORE|AFTER INSERT|UPDATE|DELETE ON table_name FOR EACH ROW…

算法训练营day40(补),动态规划8

//139. 单词拆分 func wordBreak(s string, wordDict []string) bool { wordMap : make(map[string]bool) n : len(s) for _, word : range wordDict { wordMap[word] true } dp : make([]bool, n1) dp[0] true for i : 1; i < n; i { // 遍历背包 for j : 0; j < i; …

2024年冲刺年薪40w,java面试常问知识点

前言 刚刚过去的双十一&#xff0c;让“高性能”“高可用”“亿级”这3个词变成了技术热点词汇&#xff0c;也让很多人再次萌发成为「架构师」的想法。先问大家一个问题&#xff1a;你觉得把代码熟练、完成需求加上点勤奋&#xff0c;就能成为架构师么&#xff1f;如果你这么认…

LeetCode1039. Minimum Score Triangulation of Polygon——区间dp

文章目录 一、题目二、题解 一、题目 You have a convex n-sided polygon where each vertex has an integer value. You are given an integer array values where values[i] is the value of the ith vertex (i.e., clockwise order). You will triangulate the polygon in…

MySQL:索引的优化方法

索引是帮助存储引擎快速获取数据的一种数据结构&#xff0c;形象的说就是索引是数据的目录。 索引创建的时机&#xff1a; 索引并不是越多越好的&#xff0c;虽然他再查询时会提高效率&#xff0c;但是保存索引和维护索引也需要一定的空间和时间成本的。 不创建索引&#xff1a…

从一个word里面复制表格到另一个word时,表格变形的问题

复制过来保留源格式&#xff0c;检查段落、页边距里面的格式都和原始word一致后&#xff0c;仍然表格变形。 这时点页边距-自定义页边距-文档网格 看字符数是不是一致的

C/C++ 笔试(一)

以下程序的运行结果是&#xff08;&#xff09; int main(void) {printf("%s , %5.3s\n", "computer", "computer"); return 0; }A computer , puter B computer , com C computer , computer D computer , compu.ter B %m.ns 输出占m列&#…

BigDecimal比较两数大小

文章目录 关于BigDecimal 关于BigDecimal 在Java中&#xff0c;可以使用compareTo方法来比较两个BigDecimal类型的数据的大小。该方法会返回一个整数&#xff0c;表示两个数的大小关系。 如果返回值小于0&#xff0c;表示第一个数小于第二个数。 如果返回值等于0&#xff0c;表…

【Logback】Logback 中的 Appenders

目录 1、什么是 Appenders&#xff1f; 2、解说 AppenderBase.doAppend() 方法 3、logback-core 模块中的 Appenders &#xff08;1&#xff09;OutputStreamAppender &#xff08;2&#xff09;ConsoleAppender &#xff08;3&#xff09;FileAppender &#xff08;4&a…

乐观锁存在哪些问题?

乐观锁存在哪些问题&#xff1f; 文章目录 乐观锁存在哪些问题&#xff1f;ABA 问题循环时间长开销大只能保证一个共享变量的原子操作 文章来自Java Guide 用于学习如有侵权&#xff0c;立即删除 ABA 问题是乐观锁最常见的问题。 ABA 问题 如果一个变量 V 初次读取的时候是 A…

SpringCloud微服务-DockerCompose(初识、安装、部署)

DockerCompose&#xff08;初识、安装、部署&#xff09; 文章目录 DockerCompose&#xff08;初识、安装、部署&#xff09;初识DockerCompose&#xff1f;DockerCompose安装DockerCompose部署微服务问题解决&#xff08;重要&#xff01;&#xff01;&#xff01;&#xff09…

final修饰符、多态、抽象类以及抽象类与接口的区别

final修饰符作用&#xff1a; 修饰变量&#xff1a;被final修饰的变量不能被重新赋值&#xff0c;即变为常量。对于基本数据类型的变量&#xff0c;其数值一旦在初始化后就不能更改&#xff1b;对于引用类型的变量&#xff0c;其引用不能更改&#xff0c;但是指向的对象内容可以…

小白跟做江科大51单片机之DS1302按键可调时钟

1.引入上一个程序的代码 2.引入Key和Timer0文件 3.获取按键值 定义全局变量unsigned char keynum main函数中 keynumKey(); 4.设置第一个按键的两种模式&#xff0c;以此来控制时钟的设定和显示 if(keynum1) { if(MODE0) { …

c++ primer学习笔记(二)

目录 第三章 一、命名空间的using声明 二、标准库的string类型 1、string对象的定义和初始化 2、string对象的读写 3、string对象的操作 4、string对象中字符的处理 三、标准库的vector类型 1、vector对象的定义和初始化 2、vector对象的操作 四、迭代器简介 1、简…

前端复选框问题-节点赋值未选中最后显示时确变成选中状态?

问题&#xff1a; 前两天一同事请教我&#xff1a;前端复选框问题-节点赋值未选中最后显示时确变成选中状态&#xff1f; 还有就是明明传过为的是false&#xff0c;在控制台上打印确变成选中状态&#xff0c;如下图&#xff1a; 以下是前端vue代码&#xff1a; <Scroll h…

CentoS迁移好帮手——银河麒麟服务器迁移运维管理平台最新介绍

•银河麒麟服务器迁移运维管理平台&#xff0c;面向大规模、集群式的服务器主机管理场景&#xff1b; •跨多种环境、高可用与分布式部署、配置管理、漏洞修复、服务包升级、CentoS迁移等多种核心运维场景解决方案&#xff1b; •CPU架构同源支持&#xff0c;兼容Intel、 海光…