zoukankan      html  css  js  c++  java
  • HTTP 请求中的 Form Data 与 Request Payload 的区别

    HTTP 请求中的 Form Data 与 Request Payload 的区别


    前端开发中经常会用到 AJAX 发送异步请求,对于 POST 类型的请求会附带请求数据。而常用的两种传参方式为:Form Data 和 Request Payload。


    1.GET 请求 使用get请求时,参数会以key=value的形式拼接在请求的url后面。

    例如: http://m.baidu.com/address/getlist.html?limit=50&offset=0&t=1502345139870;但是受限于请求URL的长度限制,一般参数较少时会使用get请求。```
    

    2.POST 请求 当参数数量较多,且对数据有一定安全性要求时,会考虑用post请求传递参数数据。POST请求的参数数据是在请求体中。

        方式一: Form Data形式
        当POST请求的请求头里设置Content-Type: application/x-www-form-urlencoded(默认), 参数在请求体以标准的Form Data的形式提交,以&符号拼接,参数格式为key=value&key=value&key=value..
        前端代码设置:
        xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhr.send('a=1&b=2&c=3');
        后端设置:
        在servlet中,后端可以通过request.getParameter(name)的形式来获取表单参数。
    
        方式二:Request Payload形式
        如果使用AJAX原生POST请求,请求头里设置Content-Type:application/json,请求的参数会显示在Request Payload中,参数格式为JSON格式:{"key":"value","key":"value"...},这种方式可读性会更好。
        后端可以使用getRequestPayload方法来获取。
    

    3.Form Data 和 Request Payload 区别

        如果请求头里设置Content-Type: application/x-www-form-urlencoded,那么这个请求被认为是表单请求,参数出现在Form Data里,格式为key=value&key=value&key=value...原生的AJAX请求头里设置Content-Type:application/json,或者使用默认的请求头Content-Type:text/plain;参数会显示在Request payload块里提交。
    
  • 相关阅读:
    唐李问对 简单飞扬
    【关键字】Javascript js 身份证号码 检测 规则 18位 15位 简单飞扬
    司马法 简单飞扬
    实现身份证的15位转18位 简单飞扬
    JAVA验证身份证号码 简单飞扬
    页面验证的类型 简单飞扬
    模拟MSN和QQ的上线提示效果 区别IE和FF浏览器 简单飞扬
    孙子兵法 简单飞扬
    吴子 简单飞扬
    C# WPF MVVM 实战 2.1
  • 原文地址:https://www.cnblogs.com/korea/p/11016248.html
Copyright © 2011-2022 走看看