前后端交互数据格式之form-data和json

news/2024/10/22 17:35:19/

前后端数据交互的方式

  1. form-data格式
  2. json字符串格式

一、form-data格式

  • 请求头为 application/x-www-form-urlencoded 对应的请求数据格式就是form-data格式
  • 数据格式为 : username=xiaohu&password=123456
  • 默认情况下,axios会将JavaScript对象序列化为JSON
  • 所以我们需要使用qs模块将JSON格式的数据序列化为form-data格式
    1、设置请求参数传入params(会拼接到url后面)
export function login(params) {return request({url: `${nodeUrl}/login.do`,method: 'post',params})
}

2、设置content-type

const service = axios.create({baseURL: process.env.VUE_APP_BASE_API, timeout: 5000, // request timeoutheaders: {'content-type': 'application/x-www-form-urlencoded'}
})

3、node获取请求参数

router.post('/login.do', (req, res, next) => {let sql = 'select * from userinfo where username = ? 'let arr = [req.query.username]console.log(req.query)db(sql, arr).then((data) => {let res_data = data[0]if (res_data.password == req.query.password) {res.send(successObj(res_data.role))} else {res.send(failObj(null))}}).catch((err) => {console.error(err)res.send(failObj(null))})
})

4、浏览器调试


 

二、json字符串格式

1、设置请求参数传入data(会放到请求体中)

export function login(data) {return request({url: `${nodeUrl}/login.do`,method: 'post',data})
}

2、设置content-type

const service = axios.create({baseURL: process.env.VUE_APP_BASE_API, timeout: 5000, // request timeoutheaders: {'content-type': 'application/json' }
})

3、node获取请求参数

router.post('/login.do', (req, res, next) => {let sql = 'select * from userinfo where username = ? 'let arr = [req.body.username]db(sql, arr).then((data) => {let res_data = data[0]if (res_data.password == req.body.password) {res.send(successObj(res_data.role))} else {res.send(failObj(null))}}).catch((err) => {console.error(err)res.send(failObj(null))})
})

4、浏览器调试

 


http://www.ppmy.cn/news/856504.html

相关文章

低延迟长续航手游伴侣—HyperX Cloud Buds云雀蓝牙无线游戏耳机

前一阵火爆的HyperX Cloud Buds TWS真无线耳机,让小小的云雀又出圈了一把。讲真,极度未知HyperX云雀系列真的是宝藏产品,符合人体耳朵贴合度的入耳式电竞耳机,从有线、无线到真无线,一步步在升级换代。其中&#xff0c…

jshop商城

下载源代码 git clone https://git.oschina.net/dinguangx/jshop.git 使用maven编译并生成eclipse/idea项目结构 mvn compile -Dmaven.test.skiptrue mvn eclipse:eclipse 此步骤中,需要联网下载依赖的jar包,可能会比较慢 导入到eclipse中 在eclipse中&a…

音乐流媒体服务器Navidrome

什么是 Navidrome ? Navidrome 是一个开源的基于网络的音乐收藏和流媒体服务器,与 Subsonic/Airsonic 兼容。它让您可以自由地从任何浏览器或移动设备收听您的音乐收藏。就像您的个人 Spotify! 什么是 Spotify ? Spotify 是一个正…

C++ 迭代器的设计与使用

C 迭代器是一种用于访问容器(例如数组、向量、列表等)元素的工具。它们允许我们以一种统一的方式遍历和操作容器中的数据,而不用关心容器内部数据结构的细节 C 迭代器 std 重要函数 std::begin 和 std::endstd::advance(iter,n)向前移动…

让yahoo邮箱支持pop

yahoo信箱POP设置 邮件服务器设置如下: 接收邮件(POP3)服务器:pop.mail.yahoo.com.cn 发送邮件(SMTP)服务器:smtp.mail.yahoo.com.cn 注意:雅虎中文缺省是不提供POP access服务的。…

魔百盒CM101S-2/咪咕MG100-支持多种无线-Hi3798MV100-免拆机卡刷固件包

魔百盒CM101S-2/咪咕MG100_rda5995,7601,9083,8188等无线-Hi3798MV100-免拆机卡刷固件包 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; …

Bluetooth Profile Specification之4.0 HFP简介

蓝牙篇之Bluetooth Profile Specification 深入详解汇总 目录 前言 1. 什么是HFP? 1.1.HFP主要应用场景 1.2.HFP协议在蓝牙协议中的依赖关机

蓝牙-HFP概览-转

HFP 在调试安卓的HFP client时遇到了如下问题: 其中有一个E提示,因为AT命令的错误,所有创建SLC失败,然后断开RFCOMM链接,表现出来的是已经配对的手机不停的断开重连。 HFP协议 HFP(Hands-free Profile)&#xff0c…