美文网首页
post提交方式为什么要序列化,而get提交方式就不用?序列化做

post提交方式为什么要序列化,而get提交方式就不用?序列化做

作者: 前端葱叶 | 来源:发表于2020-11-19 16:50 被阅读0次

一、get请求方式为何不需要序列化?

qs.stringify()是将对象 序列化成URL的形式,以&进行拼接。

get请求方式提交数据时,参数之间附加到url后边,即http://xxxx.xxx?a=1&b=2&c=3

?后边正式服务端可以直接处理的数据格式,所以get方式直接提交数据的话就不需要再对参数进行序列化处理,直接提交即可。

二、post提交方式为什么要序列化?

后台能够直接处理的数据格式,是一种经过序列化的键值对数据。

如:前端向服务端传递三个参数a=1,b=2,c=3,那么服务端接受到数据应该是a=1&b=2&c=3,每个键值对之间用&链接。

post方式提交时,提交的数据本身就是一个json对象,如:
var data = {a:1,b:2,c:3}

提交时候是直接以原始数据格式存储在body中的,而不是以键值对的形式附加到url中,所以服务端是无法直接识别的。我们需要在提交之前将data转换成a=1,b=2,c=3的格式再提交,这就是序列化。

deleteOne(data){
    return request({
        url:this.url_key + '/delete',
        method: 'post',
        data: qs.stringify(data)
    })
}

当然,如果数据是通过表单提交,不管是get还是post,浏览器都会自动进行序列化,无需前端再做处理。

三、qs.stringify()和JSON.stringify()的区别?

JSON.stringify()

//JSON.stringify({uid:"cs11",pwd:"000000als",username:"cs11",password:"000000als"} )
{"uid":"cs11","pwd":"000000als","username":"cs11","password":"000000als"}

QS.stringify()

//QS.stringify({uid:"cs11",pwd:"000000als",username:"cs11",password:"000000als"} )
uid=cs11&pwd=000000als&username=cs11&password=000000als

四、Vue使用qs插件

1、安装qs
npm install qs

2、引入qs(在需要的组件中引入)
import qs from 'qs'

3、qs序列化方法:qs.parse()和qs.stringify()

qs.parse()是将URL解析成对象形式;

即:uid=cs11&pwd=000000als&username=cs11&password=000000als
解析成{uid:"cs11",pwd:"000000als",username:"cs11",password:"000000als"}

qs.atringify()是将对象序列化成URL的形式,以&进行拼接;

即:
{uid:"cs11",pwd:"000000als",username:"cs11",password:"000000als"} 序列化成
uid=cs11&pwd=000000als&username=cs11&password=000000als


资料参考:
http://www.mamicode.com/info-detail-2877097.html

https://www.cnblogs.com/andyZhang0511/p/11671713.html

相关文章

  • post提交方式为什么要序列化,而get提交方式就不用?序列化做

    一、get请求方式为何不需要序列化? qs.stringify()是将对象 序列化成URL的形式,以&进行拼接。 ...

  • html 3 form和input,get和post

    form表单 get 和post:1~数据提交方式不同,get提交URL可见,post看不见 2~get提交少量数...

  • HTML-form表单学习笔记

    一. post和get方式提交数据的区别 安全性:get提交的数据url可以看得到,post看不到,并且get提交...

  • 表单

    一. post和get方式提交数据的区别 安全性:get提交的数据url可以看得到,post看不到,并且get提交...

  • AFN 基本使用

    GET&POST 请求 文件下载 文件上传 序列化处理 监听网络状态 GET 方式发送请求 POST方式发送请求 ...

  • 面试总结

    1.get和post比较 1>提交方式:GET提交,请求的数据会附在URL之后;POST提交则把数据放置在HTTP...

  • Jsp 动态网页设计

    一、表单提交方式之Get和Post的区别 Get:以明文的方式通过URL提交数据,数据在URL中可以看到。提交的数...

  • 表单序列化

    表单通过 Ajax 提交一共两种方式: form 表单的 method 一次性提交 表单序列化,使用 get po...

  • html中的form表单标签属性

    from:表单 action:提交地址 ,动作 目标method:提交方式(get ,post) input:(v...

  • Android 网络编程

    一、OkHttp的使用 依赖 混淆配置 二、Get请求方式 三、Post请求方式 提交FormBody 提交Mul...

网友评论

      本文标题:post提交方式为什么要序列化,而get提交方式就不用?序列化做

      本文链接:https://www.haomeiwen.com/subject/pyphiktx.html