HTTP 请求参数之三种格式

这篇具有很好参考价值的文章主要介绍了HTTP 请求参数之三种格式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Query String Parameters 、Form Data 、 Request Payload 三种格式的区别。主要是因为 Content-Type(用于表明发送数据流的类型) 与请求方式 method 不同,导致传递的数据格式不同。

1. Query String Parameters 格式: ?key=value&key=value
  • 参数会以 url string 的形式进行传递,即?后的字符串则为其请求参数
  • 常用在 GET 请求方式时使用
2. Form Data 格式:key=value&key=value 键值对形式
  • Content-type 设置为 application/x-www-form-urlencoded;charset=utf-8
  • 参数会以 Form Data 的形式传递给接口,不会显示在接口 url 上。
3. Request Payload 格式:{key: value, key: value}
  • Content-type 设置为 application/json;charset=utf-8
  • 参数会以 Request Payload 的形式(数据为 json 格式)传递给接口,不会显示在接口 url 上。
     
常见的Content-Type
  • 页面资源类型: text/html, text/plain, text/css, text/javascript, image/jpeg, image/png, image/gif,
  • ajax的请求,表单提交或上传文件的常用的资源类型: application/x-www-form-urlencoded(默认), multipart/form-data, application/json, application/xml
设置Content-Type
  1. 原生XMLHttpRequest:
  xhr.setRequestHeader("Content-type","application/json;charset=utf-8") 

2.jq ajax:

$.ajax({
  url: '/api/'
  methods: 'post'
  contentType: "text/xml"
}) 

3.axios:

axios.post(url, qs.stringify(params), {
  headers: {
    'Content-Type': 'application/json;charset=UTF-8'
  },
}).then(res => res.data)

或者 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'

常用转化请求参数的方式
  1. JSON.stringify()

  2. axios中 qs.stringify()将对象或者数组序列化成URL的格式,对象序列化文章来源地址https://www.toymoban.com/news/detail-812792.html

  • 对象序列化
    let obj = {
      methods: 'query_stu'
      id: 1,
      name: 'chenchen'
    }
    qs.stringify(obj)
    //   methods=query_stu&id=1&name=chenchen    这就是我们的传到服务器的url
    
  • 数组序列化
  • let arr = [2,3]
    qs.stringify({a:arr})
    // 'a[0]=2&a[1]=3' url中会带有数组的下标a[0]、a[1],这并不是我们一般的处理办法
    
    // 常用并推荐使用
    let arr = [2,3]
    qs.stringify({a:arr},{indices:false});
    // 'a=2&a=3' 注意这个格式,一般使我们常用的格式哦~
    
    其中:indices:false,去除默认处理的方式
    

到了这里,关于HTTP 请求参数之三种格式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安卓网络请求1————Http协议

    http是超文本传输协议的缩写(Hyper Text Transfer Protocol),是从万维网服务器传送到本地浏览器的传送协议 HTTP的协议工作于客户端——服务端的框架上,即客户端向服务端发送请求,服务端接收请求后向客户端发送响应信息 1.http是无连接的:无连接的含义是限制每次连接值处

    2024年02月06日
    浏览(45)
  • 计算机网络 - 应用层http协议 - http报文格式介绍(1)

    本篇认识和理解应用层中的http协议,了解抓包工具并进行使用,认识请求报文与响应报文,了解报文中基本键值对意思例如:Set-Cookie, 状态码等,如有错误,请在评论区指正,让我们一起交流,共同进步! 本文开始 ① 根据输入的url,在域名系统DNS中进行解析获取对应的服务

    2024年02月12日
    浏览(58)
  • 2.5 - 网络协议 - HTTP协议工作原理,报文格式,抓包实战

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 HTTP(Hypertext Transfer Protocol)是 「超文本传输协议」 ,基于B/S架构(Browser

    2024年02月05日
    浏览(51)
  • tp6框架中Http类 请求的header、body参数传参 及post、file格式

    引入Http类: 在需要使用的地方引入Http类: use thinkfacadeHttp; GET请求示例: $response = Http::get(\\\'https://example.com/api/resource\\\');  设置Header参数: $headers = [ \\\'Authorization\\\' = \\\'Bearer YourAccessToken\\\', \\\'Content-Type\\\' = \\\'application/json\\\', ]; $response = Http::header($headers)-get(\\\'https://example.com/api/resource\\\'); POST请

    2024年01月19日
    浏览(49)
  • Qt 使用HTTP请求网络API并接收返回的JSON格式的数据

    引入网络模块: mainwindow.h: mainwindow.cpp:

    2024年02月13日
    浏览(51)
  • Chrome/Safari 浏览器怎么查看网络请求的 http 协议版本

    通过 Chrome 或者 Safari 浏览器的开发者工具查看网络请求后,发现只能看到 scheme 是 https,但是看不到 http 协议是 1.1 还是 2,亦或者是 http3 查看 http 请求 http 协议版本的方法是:鼠标右键表头中的任何一项,随后勾选上「Protocol」 随后可以看到新增了一列 Protocol,显示了 htt

    2024年02月15日
    浏览(60)
  • 【网络应用层协议】【HTTP】详解HTTP与HTTPS、POST 请求与 GET请求 、TCP与UDP、cookie和session的区别

    目录 1. HTTP和HTTPS的区别 2. POST 请求与 GET 请求区别 3. TCP与UDP的区别 4. cookie和session的区别

    2024年04月14日
    浏览(49)
  • http请求和响应格式说明,http的get和post请求方式说明,http的请求体body的几种数据格式

    一个HTTP请求报文由 请求行(request line)、请求头部(header)、空行和请求数据 4个部分组成, 请求报文的一般格式 1、第一行必须是一个请求行(request-line),用来说明请求类型,要访问的资源以及所使用的HTTP版本 2、紧接着是一个请求头(header),用来说明服务器要使用的附加信息

    2024年02月02日
    浏览(59)
  • HTTP协议概述 | 简析HTTP请求流程 | HTTP8种请求方法

    目录 🌏 HTTP的简单介绍 何为HTTP HTTP1.0与HTTP1.1 🌏 HTTP的请求方法 1、OPTIONS 2、HEAD 3、GET 4、POST 5、PUT 6、DELETE 7、TRACE 8、CONNECT 🌏 HTTP的工作原理 🌏 HTTP请求/响应的步骤 1、客户端连接到Web服务器 2、浏览器客户端发送HTTP请求 3、服务器接受请求并返回HTTP响应 4、释放连接TCP连

    2024年02月03日
    浏览(40)
  • Selenium 修改 HTTP 请求头三种方式

    目录 前言: 什么是 HTTP 请求头 需要更改 HTTP 请求请求头 Selenium 修改请求头 Java HTTP 请求框架 代码实战 使用反向代理 使用 Firefox 扩展 下载火狐浏览器扩展 加载火狐扩展 设置扩展首选项 设置所需的功能 完整自动化用例  Selenium是一个用于Web应用程序测试的自动化工具。它提

    2024年02月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包