post请求参数格式的分类解析

格式分为两大类:
【Form Data】、【Request Payload】

一、默认的表单提交,格式为Form-Data

Content-Type:application/x-www-form-urlencoded(表单参数以name=value&name1=value1的形式在请求体中)

二、另外一种提交参数,格式为Request Payload

  Content-Type有两种:

  1、application / json(参数是以json对象传输)【原生ajax中post请求默认就是使用这种请求方式】

  2、multipart / form-data(模拟默认表单参数格式)【如果我们要用js控制一些数据,并且想以默认表单的方式提交,则可以使用这种方式】

    注意:需要new 一个FormData对象,然后append参数到其中

    eg:var params = new FormData();

      params.append(‘userName‘, ‘Jack‘)

      params.append(‘userName‘, fileInputElement.files[0]) // 比如图片

      ...

总结:1、默认表单方式兼容性很好,但是我们一般不用,体验不是很好,而且添加业务逻辑代码比较困难

   2、现在用的比较多的是Request Payload,Content-Type:application / json 格式的

   3、如果我们要操作一些文件,比如上传图片,可以采用推荐格式,把图片转成base64作为字段上传,

     也可以模拟默认表单数据来提交整个file,即最后一种格式Content-Type:multipart / form-data

  

时间: 2024-10-02 03:48:19

post请求参数格式的分类解析的相关文章

python正则-字符串处理,主要用于处理请求参数格式为application/x-www-form-urlencoded的表单数据

#当提交的表单数据格式为application/x-www-form-urlencoded,直接从浏览器复制出来的格式是str_lin(chrome,也是最常见的)或者str_in2(火狐)这两种格式你会发现直接复制出来用python进行请求时不行的,所以需要对其进行处理,最终的格式key1=value1&key2=value2...这种格式#下面是实现代码,第三个方法是没事的时候花了点时间帮开发写的一个协助脚本,用于php调试请求import re str_in='''customer_typ

Sencha Touch 小细节之----store请求参数为xml使其能与webservice结合

var myStore = Ext.create("Ext.data.Store", {     model: "User",     proxy: {         type: "ajax",         url : "/users.json",         writer : {         type: "xml"//改变请求参数格式为xml         },         reade

python完成数组格式的请求参数的加密计算

#输入 '''order_id:31489 join_course[0][join_tel]:13130999882 join_course[0][join_name]:任学雨 join_course[0][join_card_afterfour]:043X join_course[0][join_school]:铭博教育咨询 join_course[1][join_tel]:13130999883 join_course[1][join_name]:任学雨 join_course[1][joi

http.request请求及在node中post请求参数解析

Post请求 var http=require('http'); var qs=require('querystring'); var post_data={a:123,time:new Date().getTime()};//这是需要提交的数据 var content=qs.stringify(post_data); var options = { host: '127.0.0.1', port: 8080, path: '/admin', method: 'POST', headers:{

请求参数解析和乱码

getParameter(name) --- String 通过name获得值 getParameterValues(name) --- String[ ] 通过name获得多值 checkbox getParameterNames --- Enumeration<String> 获得所有请求参数名称组成的枚举 getParameterMap --- Map<String,String[ ]> 获取所有请求参数的组成的Map集合,注意,其中的键为String,值为String[]

JAVAWEB开发之Struts2详解(二)——Action接受请求参数、类型转换器、使用Struts2的输入校验、以及遵守约定规则实现Struts2的零配置

Action接受请求参数 作为MVC框架,必须要负责解析HTTP请求参数,并将其封装到Model对象中 Struts2提供了非常强大的类型转换机制用于请求数据 到 model对象的封装 Struts2和MVC定义关系 StrutsPrepareAndExecuteFilter:控制器 在Struts2中action是什么?(Struts2是一个MVC框架) V:jsp M:action C:action StrutsPrepareAndExecuteFilter Struts2提供了三种数据封装

Struts2 Action接收POST请求JSON数据及其实现解析

一.认识JSON JSON是一种轻量级.基于文本.与语言无关的数据交换格式,可以用文本格式的形式来存储或表示结构化的数据. 二.POST请求与Content-Type: application/json 常用的HTTP请求方法有GET, POST, PUT, DELETE等.在提交POST请求时,请求数据放在消息体(Body)中,请求数据的格式及编码方式用Content-Type来指定.如我们常用的表单<form>提交,其Content-Type默认为application/x-www-for

Struts2请求参数校验

校验的分类 客户端数据校验 和 服务器端数据校验 客户端数据校验 ,通过JavaScript 完成校验 (改善用户体验,使用户减少出错 ) 服务器数据校验 ,通过Java代码 完成校验 struts2 支持校验方式 代码校验(用的很少) :在服务器端通过编写java代码,完成数据校验 配置校验(主流):XML配置校验(主流) 和 注解配置校验 代码校验请求参数 步骤一: 封装数据 步骤二: 实现校验Action ,必须继承ActionSupport 类 步骤三: 覆盖validate方法(val

HTTP POST请求报文格式分析与Java实现文件上传

时间 2014-12-11 12:41:43  CSDN博客 原文  http://blog.csdn.net/bboyfeiyu/article/details/41863951 主题 HTTPHttpComponents 在开发中,我们使用的比较多的HTTP请求方式基本上就是GET.POST.其中GET用于从服务器获取数据,POST主要用于向服务器提交一些表单数据,例如文件上传等.而我们在使用HTTP请求时中遇到的比较麻烦的事情就是构造文件上传的HTTP报文格式,这个格式虽说也比较简单,但也