bug描述:django请求request接收数据时,如果参数中包含分号时,会导致分号后面的消息丢失。

比如前台js调用代码

$.post('/get_params',
{
"A":"abcd;efg",
"B":"abcdefg"
}, function(data){
// to do something
}
);

Django接收代码

@api_view(['GET'])
def get_params(request):
param_a = request.GET.get('A')
param_b = request.GET.get('B')

param_a 的值为 abcd

param_b 的值为 abcdefg

尝试过对于A进行url编码,接收端解码,仍未成功

诊断原因:Django的bug,有兴趣的可以查看源码。

临时解决方案:采用base64对A进行编码,然后接收端解码。

django request bug的更多相关文章

  1. django - request.POST和request.body获取值时出现的情况

    django request.POST / request.body 当request.POST没有值 需要考虑下面两个要求 1.如果请求头中的: Content-Type: application/ ...

  2. django formset bug?

    碰到了一个郁闷的问题,修改inlineformset时,全部删掉子表,再新增一行时,报错. 背景: 用django配合jq做动态表格,实现用js动态添加/删除行,并通过inlineformset更新到 ...

  3. Django开发BUG汇总

    使用版本知悉 limengjiedeMacBook-Pro:~ limengjie$ python --version Python :: Anaconda, Inc. limengjiedeMacB ...

  4. python - django (request 获取 访问者的 IP)

    使用 Django 获取访问者的 IP if request.META.get('HTTP_X_FORWARDED_FOR'): ip = request.META.get("HTTP_X_ ...

  5. Python - Django - request 对象

    request.method: 获取请求的方法,例如 GET.POST 等 views.py: from django.shortcuts import render, HttpResponse # ...

  6. Django request对象与ORM简介

    form表单 form表单默认是以get请求提交数据的 http://127.0.0.1:8000/login/?username=admin&password=123 action参数 1. ...

  7. Django request

    ''' 1.HttpRequest.GET 一个类似于字典的对象,包含 HTTP GET 的所有参数.详情请参考 QueryDict 对象. 2.HttpRequest.POST 一个类似于字典的对象 ...

  8. django request对象和HttpResponse对象

    HttpRequest对象(除非特殊说明,所有属性都是只读,session属性是个例外)HttpRequest.scheme 请求方案(通常为http或https)HttpRequest.body 字 ...

  9. django - request.raw_post_data 与 request.body

    request.raw_post_data 重命名成了 request.body - 在1.3版本之后. 这是当时 起票 的讨论内容:https://code.djangoproject.com/ti ...

随机推荐

  1. jquery实现顶部浮动效果

    示例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <tit ...

  2. center os 7 修改 mysql 密码

    笔记 本redis 密码 654321忘记密码:修改密码update user set authentication_string=password('123456') where user='roo ...

  3. kali linux 安装TIM or QQ(CrossOver 安装 QQ)

    需要文件 http://www.crossoverchina.com/xiazai.html dpkg --add-architecture i386 apt-get update apt-get i ...

  4. python打印99乘法表

    代码如下: print(XXX,end="\t") #表示打印不换行 附带python部分转义字符:

  5. meven 配置

    配置meven 自定义文件[User Settings] D:\java\apache-maven-3.5.3\conf\settings.xml settings.xml 新增两端配置信息 < ...

  6. 用jQuery实现(全选、反选、全不选功能)

    在jQuery选择器的基础下我们实现一个全选,反选,全不选功能! <script type="text/javascript">        $(function ( ...

  7. C#获取本地磁盘信息

    直接上干货简单易懂 //磁盘监控(远程/本地) //需要引用System.Management.dll public class RemoteMonitoring { private static s ...

  8. php.ini修改后,重启无效

    今天做项目,上传图,需要修改php.ini.发现修改后,多次长期服务器也没用,在网上找了好多方案.介绍一下我的流程 1.使用phpinfo()找到php.ini的位置,如果位置不准确,修改肯定没有任何 ...

  9. C语言之二叉树

    规定:根节点的值大于左节点但小于右节点的值,所以二叉树的值插入是唯一的,最后形成的树只跟根节点有关 定义节点: struct tree_node {      TypeElem  elem; stru ...

  10. django使用pycharm为项目选择虚拟环境-3.1

    使用pycharm打开项目 选择右上角的 file - settings - project - project interpreter 选择左上的设置符号,选择 Add 选择红框部分,然后选择之前创 ...