关于axios发送两次请求
来源:互联网 发布:数据变异程度 编辑:程序博客网 时间:2024/06/05 14:23
因为vue-resource不在更新,vue推荐使用axios,所以使用axios。
在页面交互过程中,发现axios一定几率会发送两次请求,一次是自己设置的请求方式,还有一次是options。
关于这个问题,在各个网站寻求原因,得出以下结论:
跨域资源共享标准新增了一组 HTTP 首部字段,允许服务器声明哪些源站有权限访问哪些资源。另外,规范要求,对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME 类型的 POST 请求),浏览器必须首先使用 OPTIONS 方法发起一个预检请求(preflight request),从而获知服务端是否允许该跨域请求。服务器确认允许之后,才发起实际的 HTTP 请求。在预检请求的返回中,服务器端也可以通知客户端,是否需要携带身份凭证(包括 Cookies 和 HTTP 认证相关数据)。
也就是说,它会先使用options去测试,你这个接口是否能够正常通讯,如果不能就不会发送真正的请求过来,如果测试通讯正常,则开始正常请求。
关于这个问题,需要在后台进行设置,允许options请求,不然你的请求就会受到影响,后台并作出判断,如果请求方式为options,告诉它可以通讯,其他直接什么都不做。
以下是PHP做设置内容 header("Access-Control-Allow-Origin:*");
header("Access-Control-Allow-Headers:content-type");
header("Access-Control-Request-Method:GET,POST");
if(strtoupper($_SERVER['REQUEST_METHOD'])== 'OPTIONS'){
exit;
}
关于如何避免额外发送options请求的问题,尚在解决中。
- 关于axios发送两次请求
- axios发送两次请求,options与get/post
- vuex + axios 发送请求
- 使用 Vuex + axios 发送请求
- 使用 Vuex + axios 发送请求
- 为什么axios请求接口会发起两次请求
- vue开发-使用axios发送请求
- easyui datagrid 发送两次请求
- struts2 ajax请求发送两次
- JQuery EasyUI 发送两次请求
- 用axios发送请求,全局拦截请求,获取到错误
- 发送一条请求,页面自动将这条请求发送两次!
- 为什么axios请求接口会发起两次请求(OPTIONS 和POST或者GET)
- Vue------用axios发送post请求自动set cookie
- axios发送post请求,提交图片类型表单数据
- Vue.js实战之使用Vuex + axios发送请求详解
- axios发送post请求后台接受不到问题
- 【知识整理】Axios-如何发送一个GET请求
- 【笔记】【imooc】Javascript 正则表达式(Regular Expression)
- c++之const小结-使用注意
- c++ 里各种指针
- 剑指Offer(第二版)面试题45:把数组排成最小的数
- 缓存满足的条件
- 关于axios发送两次请求
- 又遇到一坑:Cydia源之间也会冲突!A源可能会干扰B源的列表和下载,遇者小心!
- hbase shell常用操作指令
- tcp超时重传(RTO)之karn算法及其简要实验
- imgbox使用过程中遇到的问题分享
- systemd的简单使用
- Java正则 Mathcer 获取第N次出现某个字符的位置
- android截屏实现
- 决策树算法(有监督学习算法)