HTTP 之 Content-Type
2024-09-01 21:22:12
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"
....
})
最新文章
- USACO翻译:USACO 2012 JAN三题(3)
- js部分总结
- jquery选择器(二)-层次选择器
- Android R文件相关问题
- Android下得到APK包含信息
- 1行代码为每个Controller自定义“TabBar”-b
- javascript判断设备类型-手机(mobile)、安卓(android)、电脑(pc)、其他(ipad/iPod/Windows)等
- Bellman_ford POJ 3259 Wormholes
- python列表、字典与csv
- firefox 不能显示 glyphicons 字体
- log4j 突然不打印记录,提示:No appenders could be found for logge,处理方法
- ThinkPHP框架设计与扩展总结
- android TextView 之探究
- C# 高效字符串连接 StringBuilder介绍
- SVM 实践步骤
- java入门day04-方法简述
- rabbitmq 配置
- 安装配置Spark集群
- 以杨辉三角为例,从内存角度简单分析C语言中的动态二维数组
- 比较分析C++、Java、Python、R语言的面向对象特征,这些特征如何实现的?有什么相同点?
热门文章
- java中将SimpleDateFormat类型转换成Date类型
- 《手把手教你》系列技巧篇(六十五)-java+ selenium自动化测试 - cookie -下篇(详细教程)
- 《PHP面试笔试真题库》——PHP面试的好帮手
- C++的Copy Elision导致的奇怪问题
- Solution -「ARC 101D」「AT4353」Robots and Exits
- 今天你花里胡哨了吗 --- 定制属于自己的linux ssh迎宾信息
- suse 12 安装git客户端
- MyBatis功能点二:MyBatis提供的拦截器平台
- showdoc升级问题,showdoc错误日志
- 解构函数(Deconstruct)