简单请求和非简单请求的概念

来源:5-10 简单请求和非简单请求1

weixin_慕仙6541727

2019-05-04 18:30

既然方法为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"可以理解为非简单请求,这不是矛盾吗?

写回答 关注

2回答

  • 慕粉3144500
    2019-08-03 00:50:23

    我想可能是理解上的问题。先说结论,同学你这种情况因为是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 数据

    https://img3.mukewang.com/5d4468d50001d7c309190380.jpg

    https://img.mukewang.com/5d44695800016ea212500675.jpg

  • qq_筱繁韧_0
    2019-05-05 15:32:44

    第一个问题: 简单请求

ajax跨域完全讲解

完全讲解Ajax跨域产生的原因和解决思路,掌握跨域的各种解决方案

62566 学习 · 90 问题

查看课程

相似问题