php,请求跨域接口;执行了两次请求;OPTIONS(预处理);get(真正请求);
按理来说,OPTIONS(预处理) 只是判断 header('Access-Control-Allow-Headers:x-requested-with,content-type');是否通过;通过了,才执行get;
现在出现的问题是,OPTIONS请求也执行了一次程序;然后get也执行了一次程序;
OPTIONS请求执行的:
get请求执行的:
接口服务器:配置的跨域请求
这种情况怎么解决?谢谢!
php,请求跨域接口;执行了两次请求;OPTIONS(预处理);get(真正请求);
按理来说,OPTIONS(预处理) 只是判断 header('Access-Control-Allow-Headers:x-requested-with,content-type');是否通过;通过了,才执行get;
现在出现的问题是,OPTIONS请求也执行了一次程序;然后get也执行了一次程序;
OPTIONS请求执行的:
get请求执行的:
接口服务器:配置的跨域请求
这种情况怎么解决?谢谢!
首先,跨域请求分为两种,一种是简单请求,即get
请求和post
请求(不带多余的请求头),这种情况下,浏览器会直接请求,在有允许跨域的头的情况下,予以显示。(这里并不是说没有跨域头服务器就不返回数据了,数据是照常返回的,但是浏览器拦截了返回数据。)
另一种呢是复杂请求,即非get
或post
请求,或者是有了自定义头的请求。这种情况下,浏览器会首先发送一个options
请求(预请求),来确是否允许跨域。在服务器返回的跨域条件都允许之后,浏览器才会发送正式请求。
4 回答14.2k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答1.3k 阅读✓ 已解决
2 回答1.1k 阅读