昨天做静态页面调用接口(java提供)的时候,ajax post 请求无论如何都加载不到数据,不是405就是415,一开始只看了Internal里返回的数据,请求类型莫名变为options,后来看了console里的内容才知道是跨域导致的。
导致我不明白的主要原因就是请求明明是post类型,但是在网络中查看成了options。
于是乎查了下这个状态
options是ajax发送请求前,会先发送一个验证请求,问问服务器我是否可以访问,如果可以,则正常发送post请求,否则就返回错误。这个请求的类型就是options。
OPTION是客户端浏览器进行的HTTP跨域预访问,每一个option是没有携带session_id的,所以一般要在服务端进行处理,对option请求,返回一个204的状态码,返回空body,节省流量