Laravel + Vue 之 OPTIONS 请求的处理
问题:
在 Vue 对后台的请求中,一般采用 axios 对后台进行 Ajax 交互。
交互发生时,axios 一般会发起两次请求,一次为 Options 试探请求,一次为正式请求。
由此带来的问题是:
1、后端会对一次请求进行了两次处理
分析:
可以在后端针对所有 Options 请求不理睬,直接返回。其他请求,进行正常的业务处理。
解决:
在 Laravel 后端的 路由文件(api.php)中作如下定义:
// 所有 OPTIONS 请求统一处理
Route::options('{all}', function () {
return 'options is ok';
});
继续思考:
是否可以在中间件中直接返回呢?
Laravel + Vue 之 OPTIONS 请求的处理的更多相关文章
- Laravel 处理 Options 请求的原理以及批处理方案
0. 背景 在前后端分离的应用中,需要使用CORS完成跨域访问.在CORS中发送非简单请求时,前端会发一个请求方式为OPTIONS的预请求,前端只有收到服务器对这个OPTIONS请求的正确响应,才会发 ...
- AJAX 请求中多出了一次 OPTIONS 请求 导致 Laravel 中间件无法对 Header 传入的 Token 无法获取
背景知识: 我们会发现,在很多post,put,delete等请求之前,会有一次options请求.本文主要是来讨论一下这是什么原因引起的. 根本原因就是,W3C规范这样要求了!在跨域请求中,分为简单 ...
- 从零开始学 Web 之 Vue.js(四)Vue的Ajax请求和跨域
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- AJAX请求中出现OPTIONS请求
背景 有一个前后端分离的VUE项目来发送ajax请求, 查看Nginx日志或使用Chrome Dev Tools查看请求发送情况时, 会看到每次调后台API的请求之前, 都会发送一个OPTIONS请求 ...
- vue vue-resource网络请求
在使用get/post 网络请求,需要下载插件 "vue-resource" npm install vue-resource -s 在路由要导入及注册 import Vue fr ...
- 一次跨域请求出现 OPTIONS 请求的问题及解决方法
问题背景浏览器从一个域名的网页去请求另一个域名的资源时,域名.端口.协议任一不同,都是跨域 在前后端开发过程经常会遇到跨域问题.网上也都有解决方案. 写这篇文章时,我们碰到的一个场景是:要给s系统做一 ...
- vue+vue-resource设置请求头(带上token)
前言 有这样的一个需求,后台服务器要求把token放在请求头里面 嗯一般是通过data里面通过参数带过去的 第一种方法 全局改变: Vue.http.headers.common['token'] = ...
- vue.js_07_vue-resource的请求方式
1.vue-resource 实现 get, post, jsonp请求 <body> <div id="app"> <input type=&quo ...
- laravel+vue组合的项目中引入ueditor(打包成组件形式)
前言:最近写东西需要用到ueditor,并且需要是在vue组件中引入. (本博客默认你已经配置了laravel+vue的项目环境,如果还没有配置好的的小伙伴,可以看看我的另一篇博客,链接: http: ...
随机推荐
- Jenkins 邮件发送设置(jenkins自带邮件设置)
首先进入系统设置,找到Jenkins Location部分 这里设置 系统管理员邮件地址,然后设置邮件通知部分,这里为了方便我使用了QQ邮箱(作为发送邮件地址) 这里的 用户名 必须与上面的 系统管理 ...
- Linux---CentOS 定时运行脚本配置练手
1.安装crontab yum install vixie-cron yum install crontabs vixie-cron软件包是cron的主程序: crontabs软件包是用来安装.卸装. ...
- Appium清空EditText
在使用appium过程中,发现sendkeys和clear方法并不太好使,封装模拟手工一个一个删除 这里用到keyEvent,具体内容请参考api http://appium.github.io/ja ...
- angular ng-bind-html
使用ng-bind-html 可以在页面上展示html内容,让html内容加进去后不是一代码形式出现,而是以页面形式展现 需要先引入angular-sanitize.min.js,这个可以在githu ...
- c# DbProviderFactories 多数据库支持工程模式
DbProviderFactories.GetFactory(dbProviderName) DBProviderFactory factory = DBProviderFactorys.GetFac ...
- TTreeView.OnCustomDrawItem
TTreeNode *node; node = , "AAAA"); TreeView1->Items->AddChild(node, "aaa1" ...
- cv::circle《转》
void circle(CV_IN_OUT Mat& img, Point center, int radius, const Scalar& color, int thickness ...
- vue基础——条件渲染
一.v-if 1.1.v-if,v-else 在字符串模板中,比如Handlebars,我们得像这样写一个条件块: HTML <!-- Handlebars 模板 --> {{#if ok ...
- Redis用在哪里
1. 高并发缓存/共享session: UserInfo getUserInfo (long id) {} 取: userRedisKey = "user:info: ...
- python环境准备以及easy_install和pip的安装
python3的安装: yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline- ...