Laravel API跨域访问的实现步骤
发布时间 - 2018-10-26 00:00:00 点击率:次本篇文章给大家带来的内容是关于laravel api跨域访问的实现步骤,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
服务器A请求服务器B的接口,那么一般会出现跨域问题。
XMLHttpRequest cannot load http://api.console.vms3.com/api/user. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' istherefore not allowed access.
意思就是服务器响应不允许跨域访问.
那我们就需要让服务器支持跨域访问, 也就是在响应头部中添加
'Access-Control-Allow-Origin: *'
第一步: 创建中间件
创建 `app/Http/Middleware/AccessControlAllowOrigin.php` middleware 把 'Access-Control-Allow-Origin: *' 写入头部.
app/Http/Middleware/AccessControlAllowOrigin.php
space App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class AccessControlAllowOrigin
{
/**
*
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Methods: *");
header("Access-Control-Allow-Headers: Content-Type,Access-Token");
header("Access-Control-Expose-Headers: *");
return $next($request);
}
}第二步: 注册路由
注册这个 middleware 到 kernel 中.
分别在 protected $middleware 数组中和 protected $routeMiddleware 数组中
添加我们刚才创建的那个文件class名, 使用 cors 这个别名.
第三步: 设置中间件保护接口
然后在设置它保护 api , 就是$middlewareGroups['api'] 的数组中添加它的别名, 本文中是 'cors'app/Http/Kernel.php
[
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'throttle:60,1',
'bindings',
'cors'
],
];
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used inpidually.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'cors' => \App\Http\Middleware\AccessControlAllowOrigin::class,
];
}第四步:在路由中添加路由
Route::middleware('cors')->group(function () {
//
});
# laravel
# php
# 中间件
# 接口
# class
# protected
# http
# 组中
# 是在
# 也就
# 对你
# 有一定
# 给大家
# 第二步
# 第三步
# 第四步
# 分别在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
如何用花生壳三步快速搭建专属网站?
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
如何用JavaScript实现文本编辑器_光标和选区怎么处理
如何用腾讯建站主机快速创建免费网站?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
Laravel如何实现多对多模型关联?(Eloquent教程)
如何用PHP工具快速搭建高效网站?
如何在 React 中条件性地遍历数组并渲染元素
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
如何自定义建站之星网站的导航菜单样式?
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
如何在IIS中配置站点IP、端口及主机头?
教你用AI将一段旋律扩展成一首完整的曲子
如何用虚拟主机快速搭建网站?详细步骤解析
如何挑选最适合建站的高性能VPS主机?
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
油猴 教程,油猴搜脚本为什么会网页无法显示?
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
什么是javascript作用域_全局和局部作用域有什么区别?
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
java获取注册ip实例
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
如何在香港免费服务器上快速搭建网站?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
微信小程序 HTTPS报错整理常见问题及解决方案
如何快速生成可下载的建站源码工具?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
如何用低价快速搭建高质量网站?
如何快速查询网站的真实建站时间?
详解jQuery中的事件
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
微信小程序 input输入框控件详解及实例(多种示例)

