简单请求和非简单请求的概念
既然方法为GET,HEAD,POST是简单请求,发送json格式的ajax请求是非简单请求,那么$.ajax(type:post, contentType:"application/Json;charset=utf-8",data:Json.stringfy({}))到底是简单请求还是非简单请求呢,因为Type:post可以理解为简单请求;contentType:"application/Json;charset=utf-8"可以理解为非简单请求,这不是矛盾吗?
既然方法为GET,HEAD,POST是简单请求,发送json格式的ajax请求是非简单请求,那么$.ajax(type:post, contentType:"application/Json;charset=utf-8",data:Json.stringfy({}))到底是简单请求还是非简单请求呢,因为Type:post可以理解为简单请求;contentType:"application/Json;charset=utf-8"可以理解为非简单请求,这不是矛盾吗?
2019-05-04
我想可能是理解上的问题。先说结论,同学你这种情况因为是ajax发送json数据所以一定是非简单请求。
想要成为简单请求,除了“是post“这个条件外还需要满足”没有自定义头“和”Content-Type是特定类型“的条件。
以下是我用自己的意思表达老师的笔记,你可以对号入座一下。
简单请求与非简单请求
简单请求
1. 你的方法(Method) 是 GET/HEAD/POST
2. 你的请求头(header)没有自定义头
3. 你的请求头(header)中的Content-Type字段的值是以下三种中的一种:
- text/plain,
- multipart/form-data,
- application/x-www-form-urlencoded
同时满足,注意,是同时满足,才为简单请求,否则就是非简单请求
非简单请求中常见的情况(并不是全部情况)
- 你的方法(Method) 是 PUT/DELETE 的 ajax 请求
- 你的请求头(header)有自定义头
- 你的请求头(header)中的Content-Type字段的值是application/json;charset=UTF-8
也就是说你在用 ajax 发 json 数据
举报