Vue axios请求PUT/DELETE请求变OPTIONS
来源:互联网 发布:新天下无双挂机软件 编辑:程序博客网 时间:2024/06/13 15:43
问题:
vue项目中使用axios请求,在使用get请求时没问题,在测试PUT/DELETE时出现请求类型变成OPTIONS的情况。
如下请求在axios上稍作封装,原生axios相同。
请求方法:
deleteF: (val) => { let options = { method: 'delete', success: (data) => { console.log(data) }, error: (error) => { console.log(error) } } axiosAjax('/frontend/cmdb/host/delete/' + val, '', options) }
页面发送的网络请求:
在此,请求方式发生变化
分析:
这里有个前提没有提前说,不过如果你遇到这个问题,说明这个前提你应该是满足的,就是在跨域请求的会出现这个问题。
非简单请求的CORS请求,会在正式通信之前,增加一次HTTP查询请求,称为”预检”请求(preflight),在post,put,delete发送之前发送一个 OPTIONS 请求,以判断服务端是否允许这一域访问.
所以这是一个正常的机制。
这个机制下产生的现象是在触发一次功能是会产生两个请求,一个OPTIONS”预检”请求,一个后续的正式请求。在OPTIONS请求成功后才会发送后续的请求。
解决:
因为后台已经做了允许跨域, 在明白上述过程后,我使用的解决方式是在接口遇到OPTIONS请求时不做处理直接返回,则后续真实请求就可以请求到。
在生产部署时,前后端部署在同一环境,这个问题自然就不存在了!
OPTIONS请求:
真实请求:
阅读全文
0 0
- Vue axios请求PUT/DELETE请求变OPTIONS
- vue 请求采用axios
- 发起PUT,DELETE请求
- vue-resource+jquery+axios请求
- Vue axios处理http请求
- Vue axios处理http请求
- vue之请求方法--axios
- vue axios同步请求解决方案
- JQuery发送Put、Delete请求
- jquery 发送put/delete请求
- SpringMVC处理put、delete请求
- JQuery发送Put、Delete请求
- jquery 发送put/delete请求
- post get delete put 请求
- HTTP请求,包括OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT介绍
- http请求方法(GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE、CONNECT)
- http请求方法(GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE、CONNECT)
- http请求方法(GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE、CONNECT)
- TCP客户端阻塞方式
- node通过express框架构建简单的项目
- Ceph安装对象网关
- QT 通用数据库数据导入导出方案
- CentOS7 Shell基础知识
- Vue axios请求PUT/DELETE请求变OPTIONS
- 教您一招解决Word不能复制粘贴问题
- java Properties转map
- 字符集和字符编码
- JBoss启动报错org.hibernate.cfg.annotations.SimpleValueBinder.setType
- DecimalFormat (Java 格式化数字 )
- 正向代理、反向代理
- C++ STL queue小结
- Javascript的this用法