HTTP 之 Content-Type
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"
....
})
HTTP 之 Content-Type的更多相关文章
- Jsoup问题---获取http协议请求失败 org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml.
		Jsoup问题---获取http协议请求失败 1.问题:用Jsoup在获取一些网站的数据时,起初获取很顺利,但是在访问某浪的数据是Jsoup报错,应该是请求头里面的请求类型(ContextType)不 ... 
- Jsoup获取部分页面数据失败 org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml.
		用Jsoup在获取一些网站的数据时,起初获取很顺利,但是在访问某浪的数据是Jsoup报错,应该是请求头里面的请求类型(ContextType)不符合要求. 请求代码如下: private static ... 
- SharePoint自动化系列——Add content type to list.
		转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 将创建好的content type(若是跨web application需要事先publish c ... 
- SharePoint自动化系列——Content Type相关timer jobs一键执行
		转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 背景: 在SharePoint Central Administration->Monito ... 
- 转载 SharePoint【Site Definition 系列】– 创建Content Type
		转载原地址: http://www.cnblogs.com/wsdj-ITtech/archive/2012/09/01/2470274.html Sharepoint本身就是一个丰富的大容器,里面 ... 
- the request doesn't contain a multipart/form-data or multipart/form-data stream, content type header
		the request doesn't contain a multipart/form-data or multipart/form-data stream, content type header ... 
- Springs Element 'beans' cannot have character [children], because the type's content type is element-only
		Springs Element 'beans' cannot have character [children], because the type's content type is element ... 
- springboot 报错 Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported
		开始 controller 方法写的是 @RequestMapping( value = "/add", method = RequestMethod.POST ) public ... 
- .NET获取文件的MIME类型(Content Type)
		第一种:这种获取MIME类型(Content Type)的方法需要在.NET 4.5之后才能够支持,但是非常简单. 优点:方便快捷 缺点:只能在.NET 4.5之后使用 public FileResu ... 
- 万能的ctrl+shift+F(Element 'beans' cannot have character [children], because the type's content type is element-only.错误)
		今天在spring-servlet.xml文件中出现了一个莫名其妙的错误:Element 'beans' cannot have character [children], because the t ... 
随机推荐
- Solution -「JSOI 2019」「洛谷 P5334」节日庆典
			\(\mathscr{Description}\) Link. 给定字符串 \(S\),求 \(S\) 的每个前缀的最小表示法起始下标(若有多个,取最小的). \(|S|\le3\time ... 
- Solution -「CF 1375G」Tree Modification
			\(\mathcal{Description}\) Link. 给定一棵 \(n\) 个结点的树,每次操作选择三个结点 \(a,b,c\),满足 \((a,b),(b,c)\in E\),并令 ... 
- JUC之认识ConcurrentHashMap
			ConcurrentHashMap为什么广泛使用?回答这个问题之前先要回忆下几个基本的概念涉及hash的几个数据结构及锁优化(关于锁优化参考JMM之Java中锁概念的分类总结 - 池塘里洗澡的鸭子 - ... 
- 汇聚优质AR应用开发者,技术助力AR领域繁荣生态
			本文分享于HMS Core开发者论坛<EasyAR--汇聚优质AR应用开发者,技术助力AR领域繁荣生态>采访文字稿 EasyAR空间计算平台为应用开发者提供稳定建图.定位能力和完善工具链, ... 
- Spring 类名后缀理解
			Aware 理解 实现Spring的Aware接口. 定义为感知.意识,核心意义在于通过Aware可以把spring底层组件注入到自定义的bean中. 对于bean与容器的关系,bean不应该知道自身 ... 
- [LeetCode]1464. 数组中两元素的最大乘积
			给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值. 请你计算并返回该式的最大值. 示例 1: 输入:nums = [3 ... 
- 清理 Docker 占用的磁盘空间
			Docker 很占用空间,每当我们运行容器.拉取镜像.部署应用.构建自己的镜像时,我们的磁盘空间会被大量占用. 如果你也被这个问题所困扰,咱们就一起看一下 Docker 是如何使用磁盘空间的,以及如何 ... 
- HttpClient的使用(get、post请求)
			添加pom依赖 <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --> <d ... 
- Git学习笔记(详细)、idea集成
			目录 概述 安装 常用命令 总结 idea使用git idea使用github Gitee GitLab Git使用git rebase 修改提交历史中的作者及邮箱信息 概述 官网:https://g ... 
- sqlplus / as sysdba 详解
			转至:https://www.cnblogs.com/jijm123/p/12821654.html 在命令窗口输入"sqlplus / as sysdba"后回车,即可连接到Or ... 
