• 数据传输编码模式的解析


    数据传输编码模式的解析

    urlencoded

    还记不记得之前讲过的用 form 表单传送文件,我们需要去改变一个表单的参数,enctype参数,默认的时候是 urlencoded 模式,想一下,前端页面发送给后端的数据是什么类型的?是字典?还是字符串?或者是类似于关键字参数那样的的 username=‘chanyuli’ ?这时候试验一下,自己写一个form表单,然后submit提交。去浏览器的 f12 看一下。

    点击network ,查看一下你的请求,然后拉到最下面,有一个 Form Data,这里你看到的是类似于 键值对的数据格式,但其实这只是浏览器为了方便用户观看,而改写成这样,真正的数据格式要点击 Form Data旁边的 view source ,这是后看到的就是真正的格式了,发现很眼熟,就系那个是url后面的后缀,username=admin&password=123,有&符号,所以看起来就很明显了。

    username=admin&password=123这种就是符合urlencoded数据格式

    django后端针对username=admin&password=123的urlencoded数据格式会自动解析,将结果打包给request.POST 用户只需要从request.POST即可获取对应信息

    所以我们想要传文件的时候就要改变数据传输编码格式。

    formdata

    django后端针对formdata格式类型数据 也会自动解析
    但是不会方法request.POST中而是给你放到了request.FILES中

    ajax的传输数据编码格式

    ajax默认的提交数据的编码格式也是urlencoded
    也就是说也是这个样子的 username=jason&password=123

    只要你的数据符合上面的类型,你就能用request.POST获取,django汇编你解析到这里面。

    总结:django后端针对不同的编码格式数据 会有不同的处理机制以及不同的获取该数据的方法

  • 相关阅读:
    细节决定成败,为什么他能挣15亿
    GLSL Notes
    Connecting Physics Bodies
    Pylint
    Physicals
    Advanced Scene Processing
    Working with Other Node Types II
    OperateParticleWithCodes
    SpriteParticle II
    Working with Other Node Types
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11761396.html
Copyright © 2020-2023  润新知