Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件,这就是经常看到一些Asp网页点击的结果却是下载到的一个文件或一张图片的原因。


form 表单发请求:

浏览器在封装请求头的时候:

要先写上content-type 编码格式


POST时才有请求体,浏览器的request请求中,请求体格式:

1、json   2、formdata  3、x-www-form-urlencoded(默认的)

application/formdata

上传文件的时候用,格式:

POST http://www.example.com HTTP/1.1
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryrGKCBY7qhFd3TrwA ------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="user" yuan
------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="file"; filename="chrome.png"
Content-Type: image/png PNG ... content of chrome.png ...
------WebKitFormBoundaryrGKCBY7qhFd3TrwA--

application/x-www-form-urlencoded(默认的)

格式:name=yuan&pwd=123

ajax 发请求:

发送json方式请求体,要做什么:

$.ajax({
... data:json.stringify({ a:1,b:2 })
contentType:"application/json" ....
})

request.post 存放的是解析后的请求体信息,request.post只解析urlencoded的类型

此处发的json类型的数据,所以在view层,不能解析json数据,通过request.post拿不到数据

request.body里放的是请求里的原信息

此时我们想要拿到数据,需要通过 request.body,自己解析请求体数据,

#在Django中获取body中数据,并转换编码格式
json.loads(request.body.decode('utf8))

这样写将json转成urlencoded格式的数据,也可以解决该方法

$.ajax({
...

// 将json转成urlencoded格式的数据
data:{xxx:json.stringify({ a:1,b:2 })}
     contentType:"application/json"
        ....
})
 

最新文章

  1. USACO翻译:USACO 2012 JAN三题(3)
  2. js部分总结
  3. jquery选择器(二)-层次选择器
  4. Android R文件相关问题
  5. Android下得到APK包含信息
  6. 1行代码为每个Controller自定义“TabBar”-b
  7. javascript判断设备类型-手机(mobile)、安卓(android)、电脑(pc)、其他(ipad/iPod/Windows)等
  8. Bellman_ford POJ 3259 Wormholes
  9. python列表、字典与csv
  10. firefox 不能显示 glyphicons 字体
  11. log4j 突然不打印记录,提示:No appenders could be found for logge,处理方法
  12. ThinkPHP框架设计与扩展总结
  13. android TextView 之探究
  14. C# 高效字符串连接 StringBuilder介绍
  15. SVM 实践步骤
  16. java入门day04-方法简述
  17. rabbitmq 配置
  18. 安装配置Spark集群
  19. 以杨辉三角为例,从内存角度简单分析C语言中的动态二维数组
  20. 比较分析C++、Java、Python、R语言的面向对象特征,这些特征如何实现的?有什么相同点?

热门文章

  1. java中将SimpleDateFormat类型转换成Date类型
  2. 《手把手教你》系列技巧篇(六十五)-java+ selenium自动化测试 - cookie -下篇(详细教程)
  3. 《PHP面试笔试真题库》——PHP面试的好帮手
  4. C++的Copy Elision导致的奇怪问题
  5. Solution -「ARC 101D」「AT4353」Robots and Exits
  6. 今天你花里胡哨了吗 --- 定制属于自己的linux ssh迎宾信息
  7. suse 12 安装git客户端
  8. MyBatis功能点二:MyBatis提供的拦截器平台
  9. showdoc升级问题,showdoc错误日志
  10. 解构函数(Deconstruct)