解决在Laravel 中处理OPTIONS请求的问题
前面已经说过可以通过中间件来处理OPTIONS请求,近日寻得一个简单的办法。
在路由文件中定义一个路由,通过正则来匹配相应的路由。
Route::options('/{all}', function(Request $request) { $origin = $request->header('ORIGIN', '*'); header("Access-Control-Allow-Origin: $origin"); header("Access-Control-Allow-Credentials: true"); header('Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE'); header('Access-Control-Allow-Headers: Origin, Access-Control-Request-Headers, SERVER_NAME, Access-Control-Allow-Headers, cache-control, token, X-Requested-With, Content-Type, Accept, Connection, User-Agent, Cookie'); })->where(['all' => '([a-zA-Z0-9-]|/)+']);
这样就不需要中间件了,也不需要其它额外的操作。
以上这篇解决在Laravel 中处理OPTIONS请求的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
laravel-admin解决表单select联动时,编辑默认没选上的问题
今天在开发公司一个功能时,公司开发环境用的是laravel-admin,因为需要用上select联动,所以根据文档说明进行开发,并成功的使用上了,代码我就不重复,大家可以去参考laravel-admin官网的说明. 首先我们找到select的js,路径:跟目录/vendor/encore/laravel-admin/src/Form/Field下的Select.php文件,找到下面代码: $script = <<<EOT $(document).on('change', "{$
-
解决laravel 表单提交-POST 异常的问题
Laravel 显示以下内容: Laravel框架中为避免CSRF攻击,Laravel自动为每个用户Session生成了一个CSRF Token,该Token可用于验证登录用户和发起请求者是否是同一人,如果不是则请求失败. 同时Laravel提供了一个全局帮助函数csrf_token来获取该Token值,因此只需在视提交图表单中添加 input hidden(表单隐藏域) 即可在请求中带上Token <input type="hidden" name="_token&q
-
laravel5.2表单验证,并显示错误信息的实例
首先说下原理,表单验证使用validate验证器进行验证,如果表单验证不通过,将表单数据和错误信息闪存到session中去,然后再到表单中进行展示. 1.验证器规则的写法,返回一个规则数组 public function rule() { return [ 'name' => [ 'required', 'max: 5', 'min: 2', 'regex: /^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u' ], 'password' => [ 'required',
-
laravel 解决ajax异步提交数据,并还回填充表格的问题
小白一个,经过一晚百度,暂时想出来的方法 我就直接图片了 不喜勿喷, 首先我用bootstraptable 简单创建一个表格 ajax 用post提交数据 创建路由和控制器 路由: 路由里面我加前缀和中间件,也可以不加,这laravel的基础,我就不说了(本人很懒) 控制器: 附图:提交的数据表单 每点击一下按钮,就添加一行 以上这篇laravel 解决ajax异步提交数据,并还回填充表格的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
解决在Laravel 中处理OPTIONS请求的问题
前面已经说过可以通过中间件来处理OPTIONS请求,近日寻得一个简单的办法. 在路由文件中定义一个路由,通过正则来匹配相应的路由. Route::options('/{all}', function(Request $request) { $origin = $request->header('ORIGIN', '*'); header("Access-Control-Allow-Origin: $origin"); header("Access-Control-All
-
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
只要调用了没有受信的https就会报错:CERT_UNTRUSTED 简单的解决方法就是设置环境变量回避非授信证书的问题. 只要在请求的代码之前加上如下代码即可: process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; 结束!!! 以上就是小编为大家带来的完美解决node.js中使用https请求报CERT_UNTRUSTED的问题全部内容了,希望大家多多支持我们~
-
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
问题描述:在使用laravel的左联接查询的时候遇到一个问题,查询中带了右表一个筛选条件,导致结果没有返回右表为空的记录. 先附上代码: DB::table('users as u') ->select('u.user_id','c.class') ->leftJoin('class as c','c.user_id','=','u.user_id') ->where('c.status','=',2) ->get(); 解决方案: 1.在mysql的角度上说,直接加where条件
-
解决在laravel中auth建立时候遇到的问题
当你使用auth做用户登录注册的时候,会很方便,但是你在做数据库迁移的时候可能会遇到一个问题 $ php artisan migrate Migration table created successfully. [Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t oo long; max key length is 767
-
Laravel中GraphQL接口请求频率实战记录
前言 起源:通常在产品的运行过程,我们可能会做数据埋点,以此来知道用户触发的行为,访问了多少页面,做了哪些操作,来方便产品根据用户喜好的做不同的调整和推荐,同样在服务端开发层面,也要做好"数据埋点",去记录接口的响应时长.接口调用频率,参数频率等,方便我们从后端角度去分析和优化问题,如果遇到异常行为或者大量攻击来源,我们可以具体针对到某个接口去进行优化. 项目环境: framework:laravel 5.8+ cache : redis >= 2.6.0 目前项目中几乎都使用的
-
Vue axios与Go Frame后端框架的Options请求跨域问题详解
跨域问题可从前后两端分开排查: 前端:Vue + axios axios 请求头使用 'Content-Type': 'application/json', 并且在Header中设置了 Authorization 字段用于传递 Token, 参数未经 Qs 转码, 使用以下代码测试登录接口: // 为方便操作,已将 axios 实例挂载到 this.$axios 上 this.$axios.post('/signin', {account: '', password: ''}) .then(re
-
解决在Vue中使用axios POST请求变成OPTIONS的问题
POST请求变成OPTIONS 及报错信息(跨域) 主要解决方案:使用qs.stringify 1.安装qs npm install qs --save 2.axios配置和使用 在接口请求页面引入安装好的qs,如下图: 引入完成之后使用qs改变传递的参数data,如下: 这样就可以了,post请求的时候就不会再出现OPTIONS了 补充知识:axios发起请求,为什么先发送options请求,再发送get/post请求 引起原因 1,跨域: 2,请求头非默认情况. 默认请求头如下 Accept
-
解决axios会发送两次请求,有个OPTIONS请求的问题
问题描述: Vue的开发者都知道axios,很多都用axios来进行数据交互,axios的默认请求头是Content-Type: application/json 使用这个请求头会出现向服务器请求两次的情况 为什么呢? 原因是:浏览器会首先使用 OPTIONS 方法发起一个预请求,判断接口是否能够正常通讯,如果不能就不会发送真正的请求过来,如果测试通讯正常,则开始真正的请求. 大概意思就是: 浏览器对后台说:我可以请求你吗? ( ̄ˇ ̄) 后台说:阔以.( ̄▽ ̄)~* 结果是:发送原有的GET(P
-
解决nodejs中使用http请求返回值为html时乱码的问题
今天用nodejs进行http请求时返回的数据是一个html文件,然后我还是按照以前解析json数据的方法.果不其然报错了:SyntaxError: Unexpected token in JSON at position 0 没办法,只好换一种方法,将接受到的Buffer对象toString,然后打印出来发现是乱码. 第一感觉是编码问题,google一下然后看官方文档,总结三种方法: 1.toString 加编码格式作为参数. 2.使用iconv-lite 改变编码. 3.使用cheerio
-
解决laravel中日志权限莫名变成了root的问题
框架用的是laravel, 其中把一些数据写入日志, 保存到storage目录中, 刚开始查看正常, 再过一段时间文件权限就自动变成了root权限了, 导致只有www权限的laravel不能写入日志中 定时任务抓取图片的时候存储不了报权限错误 //=================== 解决方法如下: linux可以指定crontab的用户, 平常crontab -e添加的任务都是在root用户的定时任务下, 如果要用nobody用户执行, 需要使用 crontab -u nobody -l 然
随机推荐
- 基于Node.js实现nodemailer邮件发送
- VBS教程:方法-GetDriveName 方法
- webstorm添加vue.js支持的方法教程
- php检查字符串中是否包含7位GSM字符的方法
- Python写的创建文件夹自定义函数mkdir()
- js setTimeout opener的用法示例详解
- linux下讲解MySQL安装与登录方法
- 解析Node.js基于模块和包的代码部署方式
- JS简单判断函数是否存在的方法
- python实现TCP服务器端与客户端的方法详解
- 又一实用的常用CSS缩写语法收集
- 解决JS无法调用Controller问题的方法
- mysql 5.7安装 MySQL 服务无法启动但是服务没有报告任何错误
- javascript搜索框点击文字消失失焦时文本出现
- 提防网游“盗号”病毒
- Android开发模仿qq视频通话悬浮按钮(实例代码)
- 基于php-fpm 参数的深入理解
- win7中C#的winForm编程使用savefiledialog不能弹出保存窗体的解决方法
- CSS 美化段落文本之首字下沉
- kesion 科讯不用登录实现digg的修改方法