1、什么是跨域?
就是由于域名不同,或者端口不同,或者协议不同浏览器的同源策略就会自动将不同源的请求进行阻拦。形成跨域。
2、什么是简单请求?
HTTP方法是下列方法之一
HEAD, GET,POST
HTTP头信息不超出以下几种字段
Accept, Accept-Language, Content-Language, Last-Event-ID
Content-Type只能是下列类型中的一个
application/x-www-from-urlencoded
multipart/form-data
text/plain
任何一个不满足上述要求的请求,即会被认为是复杂请求~~
复杂请求会先发出一个预请求,我们也叫预检,OPTIONS请求~~
2、解决方法
方法一:jsonp
通过jsonp不阻止src请求入手实现
class Test(APIView): def get(self, request): callback = request.query_params.get("callback", "") ret = callback + "(" + "'success'" + ")" return HttpResponse(ret)